XMLHttpRequest无法加载url。 Access-Control-Allow-Methods不允许使用DELETE方法

时间:2012-11-11 23:33:26

标签: php jquery xmlhttprequest

我正在尝试向我的restserver发出ajax请求:

<script>
var id = "104";
var postData = {
  'id' : id
};
AJS.$.ajax({
     url: "myurl",
     crossDomain: true,
     data: postData,
     type: "DELETE",
     // dataType: "json",
     success: function(msg, textStatus, jqXHR) {
        alert( "Data Saved: " + msg);
     }
});
</script>

但是我收到以下错误: XMLHttpRequest无法加载http:// myurl / rest / controller / resource / id / 107。 Access-Control-Allow-Methods不允许使用DELETE方法。

我在php控制器的顶部添加了以下内容:

header('Access-Control-Allow-Origin: *'); 
header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS');
header('Access-Control-Allow-Headers', 'x-requested-with');

它似乎接受的唯一方法是获取和发布但删除并设置创建错误。

有什么想法吗?

谢谢, 詹姆斯

1 个答案:

答案 0 :(得分:0)

前几天我学到了很难,几乎不可能从任何浏览器执行跨域ajax请求。我会在服务器端处理重定向HTTP请求。让这个ajax请求转到同一个url /服务器上的脚本,并让该脚本执行HTTP请求并等待您尝试从其他服务器获取数据的数据。