从 API CORS 获取数据



我正在尝试从不支持 CORS 的服务器获取 json 数据。我读到Jsonp是这种定位的解决方案,但我仍然无法使其工作:我的代码 :

 var headers = {
  'Authorization': 'Bearer ' + 'token',
  'Accept': 'application/json'
};
function myCallbackFunction(data){
            $('body').text(data.response);
        }
$.ajax({
    type: "GET",
     headers : headers,
     url: "https://site/api/etc",
    dataType: "jsonp",
    success: function(data){console.log(data);},
    jsonp: false,
    jsonpCallback : "myCallbackFunction",
    error: function (xhr, ajaxOptions, thrownError) {
      alert(xhr.status);
      alert(thrownError);
    }
});

我明白了

错误:

未捕获语法错误:意外令牌:

我知道这是因为服务器返回了 JSON 数据,但我不知道如何纠正它,因为如果将数据类型更改为 JSON,我会收到与 CORS 相关的错误:

XMLHttpRequest 无法加载 https://site/api/1.0/etc。 对预检请求的响应未通过访问控制检查:请求的资源上不存在"访问控制允许源"标头。因此,不允许访问源"http://site"。

这意味着服务器端不支持 CORS但我使用邮递员它的工作原理我不明白。我已经尝试了很多其他事情,但可以获得数据.请帮忙.谢谢。PS :我在雄猫服务器下

我只是把对我有用的东西放在这里:所以我所做的是使用"okhttp"而不是 ajax 调用创建一个 rest 控制器,这样就不会有上下文产生问题,然后检索数据并使用 js 进行操作。

最新更新