這裏是w3.org對HTTP響應的摘錄:什麼時候jQuery中的ajax請求認爲http post請求成功?
10.2成功的2xx
This class of status code indicates that the client's request was successfully received, understood, and accepted.
10.2.1 200 OK
請求成功。響應返回的信息取決於請求中使用的方法,例如:
GET在響應中發送與請求的資源對應的實體;
發佈描述或包含操作結果的實體;
當$ _POST []變量存儲在其他變量中時它被認爲是「接收,理解和接受」嗎?
編輯:這裏是調用一個空的php文件的ajax調用。
$.ajax({
url: 'process.php',
data: 'type=new&title='+title+'&startdate='+start+'&zone='+zone,
type: 'POST',
dataType: 'json',
success: function(response){
event.id = response.eventid;
$('#calendar').fullCalendar('updateEvent',event);
},
error: function(e){
alert('Error processing your request: '+e.responseText);
}
});
它調用ajax調用的錯誤部分。但控制檯顯示沒有錯誤。 現在爲什麼只選擇錯誤而不成功?
一個php腳本默認會給出一個200 OK,如果需要的話你必須手動設置響應代碼給其他東西'http_response_code(401);'這會觸發失敗處理程序/回調而不是成功處理程序/回調你的ajax調用 - 你可以在那裏顯示一些「你必須登錄才能做到這一點」的信息。 – JimL
問題在於ajax請求返回錯誤:即使目標php文件爲空,也不會成功。 –
請發佈你有關於ajax請求的代碼。你收到錯誤嗎?帖子,以及 – JimL