JQuery-对没有JSONP的JSON文件的跨域Ajax调用

JQuery - Cross Domain Ajax call for JSON file without JSONP

本文关键字:Ajax 调用 文件 JSON JSONP JQuery-      更新时间:2023-09-26

我正试图访问另一个域的URL,比如说www.URL-one.com,它只提供JSON文件,不能提供JSONP文件。这对我使用JQuery的ajax()函数不起作用。

以下是我的代码:

    $.ajax({
        url : 'http://url-two.com'+sample,
        async : false,
        dataType : 'jsonp',
        crossDomain: true,
        success : function(data) {
            // Some Other Code
        }
     }

在不依赖JSONP的情况下,我可以做些什么来处理同源政策?提前谢谢-我在代理的事情上有很大的问题,但我听说这是可能的。

有很多方法可以做到这一点,下面我将提到我过去使用过的3种方法。

最常见的是使用跨来源资源共享(CORS)。

基本上,承载json文件的服务器(让我们称之为server1)需要正确设置Access-Control-Allow-Origin标头,以允许其他服务器(让它称之为server2)访问它

如果你不想或不能使用CORS,你可以做以下2项之一:

1:在服务器2上使用重写规则将特定路径的流量从服务器2重定向到服务器1。

2:在server2上使用服务器端代理来获取json文件。

设置这两件事完全取决于你的服务器设置,我不能帮你。