我有一個阿賈克斯調用我正在執行和響應200確定,但它不是在完成推遲方法。我已經嘗試在舊的jQuery(這是貶低爲1.8)的方式使用成功回調,但這也不起作用。使用失敗延遲方法工程找到,並且總是推遲方法,但這看起來更像是一個黑客使用比做正確的方式和使用完成。我錯過了什麼?jQuery阿賈克斯延遲做不能正常工作
的JavaScript
$.ajax({
url: core.api_url + '/quote/' + core.quote_id + '/items',
type: 'put',
dataType: 'array',
data: $.extend({}, items), // Needs to be converted to an object of objects because jQuery ajax cannot handle arrays of objects
beforeSend: function(){
$('.message-container .ui.message.saved').addClass('hidden');
$('.message-container .ui.message.saving').removeClass('hidden');
}
}).done(function(response){
$('.message-container .ui.message.saving').addClass('hidden');
if(response.success == true){
$('.message-container .ui.message.saved').removeClass('hidden');
}
if(response.success == false){
$('.message-container .ui.message.failed').removeClass('hidden');
}
});
控制檯日誌
HTTP/1.1 200 OK
Server: nginx/1.8.0
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: no-cache
Response:
{"success":true,"results":[{"id":31}]}
嗯,我不認爲'數據類型: '陣','是有效的,你必須輸出JSON。 – adeneo
是否有任何理由說明爲什麼你不想使用'success:function(){...}'和'error:function(){...}' –
如果你看一下瀏覽器控制檯或者使用調試器會發現回調被正常調用,但會導致錯誤... – Jon