[英]Uncaught SyntaxError: Unexpected token (, no error visible
我正在編寫一個AJAX函數,但似乎有錯誤。 我似乎找不到任何東西。 請幫忙! 我瀏覽了以下問題: this , this和this,但是沒有一個起作用。 這是我的代碼:
function registerDevice(fp,uid)
{
$.ajax({
type: "POST",
async: true,
url: "backend.php",
data: {"fp": fp, "uid" : uid},
success: function(output) {
var json = eval('(' + output + ')');
var status = json['status'];
if(status == "success")
{
//redirect user.
setTimeout(function(){
//do what you need here
<?php
if(isset($_GET['goto']))
{
echo 'window.location.replace("'.$_GET["goto"].'");';
}
else
{
echo 'window.location.replace("index.php");';
}
?>
}, 2000);
}
else
{
$("#login-msg").text("Something went wrong. Please try again.");
$("#login-alert").fadeTo(4000, 500).slideUp(500, function(){
$("#login-alert").hide();
});
}
},
error: function(error) {
$("#login-msg").text("There was an unknown error.");
$("#login-alert").fadeTo(4000, 500).slideUp(500, function(){
$("#login-alert").hide();
});
}
});
}
它的名稱如下:
$('body').on("click", "#mybtn", function (e) {
registerDevice(result,uid);
});
這是我在Google Chrome瀏覽器中遇到的錯誤:
VM411:1 Uncaught SyntaxError: Unexpected token )
success @ login_alpha.php:344
j @ jquery.js:3148
fireWith @ jquery.js:3260
x @ jquery.js:9314
b @ jquery.js:9718
PS:第344行引用了以下行:
var json = eval('(' + output + ')');
編輯1:backend.php
<?php
$uid = $_POST['uid'];
$fp = $_POST['fp'];
//my code here.
$response_array['status'] = "success";
$response_array['type'] = "cookie";
?>
eval
函數需要一個字符串來評估。 您正在嘗試評估我認為的JSON對象。
嘗試:
var json = eval('(' + JSON.stringify(output) + ')');
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/eval
我找到了解決方案,這很愚蠢。
backend.php 沒有給出JSON響應! 這是原始代碼:
<?php
$uid = $_POST['uid'];
$fp = $_POST['fp'];
//my code here.
$response_array['status'] = "success";
$response_array['type'] = "cookie";
?>
我剛剛添加了這一行:
echo json_encode($response_array);
這樣可以確保我向AJAX調用的成功函數發送回JSON響應! 多么愚蠢的錯誤。
最后編輯backend.php:
<?php
$uid = $_POST['uid'];
$fp = $_POST['fp'];
//my code here.
$response_array['status'] = "success";
$response_array['type'] = "cookie";
//print json response
echo json_encode($response_array);
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.