使用 jquery ajax 跨域检索 json 数据

Retrieve json data with jquery ajax cross domain

本文关键字:检索 json 数据 jquery ajax 使用      更新时间:2023-09-26

我尝试使用 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');
    }
});

}