나는 JQuery와/JSON과 레코드를 업데이트하기 위해 노력하고있어하지만 난이 오류보고 있어요 :오류가 발생했습니다 : 구문 에러를 : JSON.parse : 예기치 않은 문자
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;
후 작동 ... 당신이 도움을
TKS!
이 (NOT 브라우저에서) 16 진수 편집기에서 출력을 확인 문자열의 나머지 후 약간의 공간을 제공하기 위해
WHERE
앞에 공백을 추가 할 필요가 있다고 생각 전후의 쓰레기 (특히 UTF-8 BOM)가 원인 일 수 있습니다. – Wrikken
스택 오버플로에 오신 것을 환영합니다! 'jQuery'를 긴 형식으로 한 번 써야한다는 것을 알고 계셨습니까? '(function ($) {....}) (jQuery);'에 코드를 래핑하면'noConflict'가 사용되었는지 여부와 관계없이'$'를 사용할 수 있습니다. – ThiefMaster
또한 요소가 하나뿐이므로 쉼표를 제거 할 수 있습니다. – KBN