dongzhan9100
2012-05-06 08:39
浏览 533

发生错误:SyntaxError:JSON.parse:意外字符

I'm trying to update a record with JQuery/JSON but I'm seeing this error:

An error has occurred:

[object Object]

parsererror

SyntaxError: JSON.parse: unexpected character

My 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:
' + x + '
' + y + '
' + z);
    }
})

return false;
})

And my 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;

If my php is :

$ret = array(
    'error'             =>  'OK',
);
echo json_encode($ret);
exit;

then it works...

Tks for you help!

图片转代码服务由CSDN问答提供 功能建议

我正在尝试使用JQuery / JSON更新记录,但我看到了这个错误:

发生错误:

[object Object]

parsererror

SyntaxError:JSON.parse:意外字符

我的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)
} 
},
错误:function(x,y,z)  {
 alert('发生错误:
'+ x +'
'+ y +'
'+ z); 
} 
})
 
返回false; 
})\  n   
 
 

我的php:

  $ ret = 数组(
'错误'=>  '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; 
   
 
 

然后它可以正常工作......

请你帮忙!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • dr897777 2012-05-06 08:59
    已采纳

    Probably your PHP throws some Errors or Warnings, which make the returned document not a valid JSON string. Use a debugger like FireBug to see, what actual result is returned by your PHP script.

    Following the PHP docu for mysql_real_escape_string (link)it will throw an Error, if there is no active MySQL connection available. Maybe that's your problem.

    点赞 打赏 评论
  • douxieti6851 2012-05-06 09:00

    The problem must be that the php to update the record fails, and so the json does not get outputted.

    I think you need to add a space before the WHERE

    $update .=
        " WHERE ".
    

    to give it some room after the rest of the string

    点赞 打赏 评论

相关推荐 更多相似问题