我正在编写一个基于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