我正在編寫一個基於Web的應用程序,它可以調用服務器來從REST-ful應用程序更新服務器中的特定對象。jQuery ajax()調用失敗
這是我寫的JavaScript代碼。
var sendUrl = url + "v1/items/" + itmId;
$.ajax({
"type": "PUT",
"url": sendUrl,
//"data": {"name": nameVal, "description": descVal},
"success": function() {
alert('hai'); //refreshItems();
},
"complete": function (jqXHR, textStatus) {
alert (textStatus);
}
});
當執行此代碼時,服務器沒有收到任何請求。瀏覽器沒有顯示任何更新。
我將Google Chrome用作我的瀏覽器。所以,我看着Chrome的JavaScript控制檯,控制檯顯示此錯誤:
是否有解決這個問題的任何可能的解決方案?
編輯:
正如評論一個建議,我試圖尋找到網絡面板。它似乎沒有打電話給服務器。
這是此特定請求的屏幕截圖:
的圖像是非常小的。狀態爲「(失敗)」且類型爲待執行
如果服務器未配置PUT,則會導致內部服務器錯誤。所以,這不是在這裏發生的。
編輯
試圖在回答中給出的建議後,
這是代碼:
var sendUrl = url + "v1/items/" + itmId;
$.ajax({
"type": "PUT",
"url": sendUrl,
//"data": {"name": nameVal, "description": descVal},
}).done(function () {
alert('OK');
}).fail(function (jqXHR, textStatus, errorThrown) {
console.log(jqXHR);
console.log(textStatus);
console.log(errorThrown);
});
下面是已記錄的對象:
你設置你的服務器來處理'PUT'要求 – Musa 2013-02-21 00:25:12
那是一個錯字錯誤註釋掉你的'數據'? – 2013-02-21 00:28:37
很難從外面猜測。第一步是調查Chrome網絡面板中的特定呼叫。您可以在面板中篩選XHR請求。檢查服務器是否發送了任何響應。檢查請求是否包含拼寫錯誤或缺少必填字段。另外請記住,執行AJAX調用時端口必須匹配。 – 2013-02-21 00:33:52