2016-01-16 76 views
2

這裏是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調用的錯誤部分。但控制檯顯示沒有錯誤。 現在爲什麼只選擇錯誤而不成功?

+1

一個php腳本默認會給出一個200 OK,如果需要的話你必須手動設置響應代碼給其他東西'http_response_code(401);'這會觸發失敗處理程序/回調而不是成功處理程序/回調你的ajax調用 - 你可以在那裏顯示一些「你必須登錄才能做到這一點」的信息。 – JimL

+0

問題在於ajax請求返回錯誤:即使目標php文件爲空,也不會成功。 –

+0

請發佈你有關於ajax請求的代碼。你收到錯誤嗎?帖子,以及 – JimL

回答

3

你不需要存儲任何東西......它只是關於響應代碼。 例如,我可以對一個不處理任何東西的「腳本」進行POST,只是一個虛擬的空文件...

我真的不明白你的「困境」是什麼。

+0

我做了一個Ajax調用,它是響應原始html。正如你所說,我清空了我的目標php文件,但不確定$ .ajax調用是否會將其視爲成功或錯誤!不幸的是,它稱爲「部分中包含的功能。 –

+0

請編輯問題以回答它,以便我可以接受它。 –