頁我有一個簡單的複選框,點擊發送XHR到PHP網頁,PHP程序正確,我用json_encode($response)
返回。但不是簡單的真或假,我得到了頁面的源代碼,當然它會導致「parsererror」。 Ajax調用如下爲什麼我的JSON響應一個完整的源代碼
$.ajax({
type: "post",
url: "myprocessor.php",
dataType: 'json',
data: { "id" : idnumber, "action": "makeLive", "isLive" : "1" },
beforeSend: function(data) {
$("#ajaxInProgress").addClass('progress');
},
success: function(data) {
$("#status").removeClass().addClass((data.error === true) ? 'error' : 'success').text('Success! Appraiser is NO LONGER Live ').slideDown('slow');
},
error: function(data) {
$("#status").removeClass().addClass('error').text(' - Changing the Live status for this appraiser to "Not Live" has failed - APPRAISER IS STILL LIVE IN SYSTEM, please try again').slideDown('slow');
},
complete: function(data) {
$("#ajaxInProgress").removeClass('progress');
setTimeout(function() {
$("#status").slideUp('slow').removeClass();
},2000);
}
});
將帖子發到如下的PHP:
if (isset($_POST['action'])) {
if($_POST['action']=='makeLive') {
$checkappraiser=mysql_query("SELECT * FROM table WHERE id='".mysql_real_escape_string($_POST['id'])."'");
if (mysql_numrows($checkappraiser)>0) {
$livesetting=mysql_result($checkappraiser,0,"live");
$livesetting=!$livesetting;
$runSql = mysql_query("UPDATE table SET live='$livesetting' WHERE id='".mysql_real_escape_string($_POST['id'])."'");
if(!$runSql) {
$return['error'] = true;
} else {
$return['error'] = false;
}
}
}
echo json_encode($return);
}
任何建議將是巨大的。 我正在通過 正確的數據我得到的DB 我的回答是回來作爲一個解析錯誤,因爲它試圖解析源代碼作爲一個JSON數組更新正確的數據。
yes @andreas對我來說沒有短標籤 –
當你說源代碼時,它是PHP的源代碼嗎? –
這是整個HTML頁面,從下來 –