我尝试使用 jquery ajax 从其他域检索 json 数据,但它不起作用。这是我的代码:
function getLeague() {
$.ajax({
url: 'http://otherdomainurl.ashx?username=xxx&pass=xxx&type=xxx',
headers: { 'Access-Control-Allow-Origin': '*' },
dataType: 'jsonp',
async: false,
crossDomain: true,
success: function(data) {
alert('Success');
},
error: function(error) {
alert('Fail');
}
});
}
我试图删除标头,异步和跨域。 我试图将数据类型更改为 json。但它总是给出失败警报。我使用django(但我认为这不是问题)。谢谢。。
此标头需要位于服务器端,而不是客户端。
尝试 Django CORS 标头:
一个 Django 应用程序,将 CORS(跨源资源共享)标头添加到响应中。
尽管 JSON-P 很有用,但它严格限于 GET 请求。CORS 建立在 XmlHttpRequest 之上,允许开发人员发出跨域请求,类似于同域请求。
您的错误处于异步状态:假。
跨域请求和数据类型:"jsonp"请求不支持同步操作
http://api.jquery.com/jquery.ajax/
所以你真的需要设置异步:假吗?
试试下面的代码
function getLeague() {
$.ajax({
url: 'http://otherdomainurl.ashx',
data: {Your Obj},
type: 'GET',
dataType: 'jsonp',
success: function(data) {
alert('Success');
},
error: function(error) {
alert('Fail');
}
});
}