我正在尝试使用 jQuery 访问 REST Web 服务。根据 Firebug,该服务已正确地将 Access-Control-Allow-Origin 设置为 *,并且使用 Chrome/Firefox 访问它没有问题。但是,在 IE 中它不起作用。
我已经查看了已经发布的这个问题的很多变体,但到目前为止,没有一个解决方案对我有用。
这是我的代码(为了便于阅读,简化了成功/失败函数内容):
$.support.cors = true;
$.ajax({
url: 'https://api.guildwars2.com/v1/maps.json?callback=?',
cache: false,
type: 'POST',
dataType: "jsonp",
success: function() { alert("Success!"); },
error: function() { alert('Failed!'); }
});
它也不能GET
作为类型使用,也不能使用或不使用回调。
我也试过让它在没有 jQuery 的情况下工作,但没有成功:
var xdr = new XDomainRequest();
var url = "https://api.guildwars2.com/v1/maps.json?callback=?";
if(window.XDomainRequest)
{
if(xdr)
{
xdr.onsuccess = function(){alert('Success!');};
xdr.open("get",url);
xdr.send();
}
else
{
alert('Failed!');
}
}
任何人可以给我的任何建议都将不胜感激,因为我正在考虑file_get_contents()
在我自己的服务器上使用 PHP 简单地镜像 Web 服务,尽管这将是最后的手段,因为它会占用更多的带宽。