我正在尝试使用 JQuery/JSON 更新记录,但我看到了这个错误:
An error has occurred:
[object Object]
parsererror
SyntaxError: JSON.parse: unexpected character
我的 JS:
jQuery('#commentForm').live('submit', function (event) {
event.preventDefault()
jQuery.ajax(edit_url, {
data: jQuery(this).serialize(),
dataType: 'json',
type: 'POST',
success: function (data) {
if (data.error === 'OK') {
alert('ok c good')
} else {
alert('hi' + data.error)
}
},
error: function(x,y,z){
alert('An error has occurred:\n' + x + '\n' + y + '\n' + z);
}
})
return false;
})
还有我的 php:
$ret = array(
'error' => 'OK',
);
$update =
"UPDATE crm_set_users SET ".
"crm_set_users_civilite = '".mysql_real_escape_string($crm_set_users_civilite)."',".
"crm_set_users_nom = '".mysql_real_escape_string($crm_set_users_nom)."',".
"crm_set_users_prenom = '".mysql_real_escape_string($crm_set_users_prenom)."',".
"crm_set_users_email = '".mysql_real_escape_string($crm_set_users_email)."', ".
"crm_set_users_telephone = '".mysql_real_escape_string($crm_set_users_telephone)."', ".
"crm_set_users_portable = '".mysql_real_escape_string($crm_set_users_portable)."'";
if($crm_set_users_photo != ""){
$update .=", crm_set_users_photo = '".mysql_real_escape_string($crm_set_users_photo)."'";
}
$update .=
"WHERE ".
"crm_set_users_id = '".mysql_real_escape_string($user_id)."'";
echo json_encode($ret);
exit;
如果我的 php 是:
$ret = array(
'error' => 'OK',
);
echo json_encode($ret);
exit;
然后就可以了...
谢谢你的帮助!
最佳答案
可能您的 PHP 抛出了一些错误或警告,这使得返回的文档不是有效的 JSON 字符串。使用像 FireBug 这样的调试器查看您的 PHP 脚本返回的实际结果。
按照 mysql_real_escape_string
( link ) 的 PHP 文档,如果没有可用的事件 MySQL 连接,它将抛出错误。也许这是你的问题。
关于php - 发生错误 : SyntaxError: JSON. 解析:意外字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10469270/