我正在尝试向我的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');
它似乎接受的唯一方法是获取和发布但删除并设置创建错误。
有什么想法吗?
谢谢, 詹姆斯
答案 0 :(得分:0)
前几天我学到了很难,几乎不可能从任何浏览器执行跨域ajax请求。我会在服务器端处理重定向HTTP请求。让这个ajax请求转到同一个url /服务器上的脚本,并让该脚本执行HTTP请求并等待您尝试从其他服务器获取数据的数据。