从 API CORS 获取数据

Posted

技术标签:

【中文标题】从 API CORS 获取数据【英文标题】:get data from API CORS 【发布时间】:2017-05-31 05:13:37 【问题描述】:

我正在尝试从不支持 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。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin 'http://site' 因此不允许访问。

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

【问题讨论】:

【参考方案1】:

我将把对我有用的东西放在这里: 所以我所做的是使用“okhttp”而不是 ajax 调用创建一个休息控制器,这样就不会有一个上下文创建问题,然后检索数据并用 js 操作它。

【讨论】:

以上是关于从 API CORS 获取数据的主要内容,如果未能解决你的问题,请参考以下文章

从 React 前端的 Zoho API 获取数据时出现 CORS 错误

在我的 React 应用程序中获取 api 数据时如何修复 CORS 错误?

尝试从反应应用程序的本地主机 Web api 端点获取数据 - Cors 错误

为啥使用 axios 从 XML 中获取数据会引发 cors 错误? [复制]

使用 CORS 从 TeamCity API 获取 JSON

Angular cors 从 django rest 框架后端获取数据并获得许可