AJAX提出请求失败?

时间:2010-03-10 16:30:13

标签: ajax

使用以下代码执行ajax get请求按预期工作:

$.ajax({
   type: "GET",
   contentType: "application/json",
   url: "http://someSeceretUrl/test/document,
   dataType: "jsonp",
   success: function(msg) {
   console.log(msg);
   },
   error: function(a,b,c) {
     console.log(a);
     console.log(b);
     console.log(c);
}
});

但是使用以下代码进行PUT ajax调用:

$.ajax({
   type: "PUT",
   contentType: "application/json",
   url: "http://someObscureURL/test/mrmer1",
   dataType: "jsonp",
   data: {"name":"mike"},
   success: function(msg) {
      console.log(msg);
   },
   error: function(a,b,c) {
     console.log("XMLHttpRequest: " + a);
     console.log("textStatus: " + b);
     console.log("errorThrown: " + c);
  }
  });

导致以下控制台输出:

XMLHttpRequest: [object XMLHttpRequest]
textStatus: null
errorThrown: [Exception... "Access to restricted URI denied" code: "1012" nsresult: "0x805303f4   (NS_ERROR_DOM_BAD_URI)" location: "http://static.kobj.net/kobj-static-20100219162227.js Line: 371"]

我在想某些东西阻止了PUT请求,但我不知道。 我做错了什么?

谢谢!

2 个答案:

答案 0 :(得分:2)

我想你正在点击cross domain restrictions。如果http://username:password@somehost被视为跨域,我不会感到惊讶。

答案 1 :(得分:0)

当我在过去完成PUT请求时,我发现没有传递contentLength标头导致抛出异常,只是一个想法