“未捕获的SyntaxError:JSON中的意外令牌H”

时间:2018-12-22 18:38:07

标签: javascript php json

我最近刚拿起一个我刚才从事的项目,并且在提交ajax请求时,在提交之后,它应该返回成功消息或错误消息。我使用的代码与我在其余应用程序中使用的代码相同,并且可以正常工作而没有任何问题。

过去7个小时左右,我一直遇到这个问题,而我自己也没有运气来解决这个问题,因此为什么我要来这里。

PHP代码:

if (access) {
  $name = $_POST['name'];
  dbquery('UPDATE settings SET name="' . escapestring($name) . '"');
  $error['msg'] = "";
  echo json_encode($error);
  exit();
} else {
  $error['msg'] = "You don't have permission.";
  echo json_encode($error);
  exit();
}

JS代码:

if (access) {
  $name = $_POST['name'];
  dbquery('UPDATE settings SET name="' . escapestring($name) . '"');
  $error['msg'] = "";
  echo json_encode($error);
  exit();
} else {
  $error['msg'] = "You don't have permission.";
  echo json_encode($error);
  exit();
}

这段代码(返回成功消息或错误消息)似乎在我的其余应用程序中都可以正常工作,但是今天无论如何尝试,我都无法使其正常工作。

编辑- 使用console.log(error);之后,似乎未定义。问题在于此代码在我的应用程序的其他部分上可以正常工作

日志-

$(document).ready(function () {
    $('#updateName').ajaxForm(function (error) {
        error = JSON.parse(error);
        if (error['msg'] === "") {
            toastr.success('Name Updated', 'System:', {timeOut: 10000})
        } else {
            toastr.error(error['msg'], 'System:', {timeOut: 10000})
        }
    });
});

1 个答案:

答案 0 :(得分:0)

首先,error = JSON.parse(error); 您尝试访问的error未定义。应该是var error = JSON.parse(error);,这就是为什么您遇到错误或未定义的变量error

但是JSON错误

  

“未捕获到的SyntaxError:JSON中出现意外的令牌H”

是不同的。你能打个招呼并发布您的代码吗?