【问题标题】:Always get CORS error when trying to fetch the data with api尝试使用 api 获取数据时总是出现 CORS 错误
【发布时间】:2020-01-14 13:59:05
【问题描述】:

所以当我使用 ajax jquery 和 api 获取请求时,我总是会遇到问题 已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。已尝试使用 js fetch 方法和 jquery 方法。首选jquery方法。总是出现 CORS 错误 已尝试使用 dataType:"json" 已尝试使用 dataType:"jsonp"

 $.ajax({
                url: "https://login.aupairint.com/api/v1/participant_showcases/au_pair_int.json",
                type: "GET",
                crossDomain: true,
                dataType: "jsonp",
                success: function (response) {
                    var resp = JSON.parse(response)
                    console.log(resp);
                },
                error: function (xhr, status) {
                    console.log("error");
                }
            });

【问题讨论】:

  • 服务器说“不”。更改客户端上的数据类型不会更改“否”上的任何内容。只需在 SO 上搜索“CORS”即可。

标签: jquery ajax api cors


【解决方案1】:

CORS 是浏览器策略,因此您不能对服务器以外的其他域进行 ajax 调用。因此,如果您在 localhost 上运行代码并尝试对 https://login.aupairint.com 进行 ajax 调用,它将被浏览器阻止。

对于解决方案,一个是禁用 CORS 是浏览器设置。如果有多个客户端运行此代码,所有客户端都必须禁用它。

第二种解决方案是修改响应标头。 API 响应标头应支持跨域请求。在响应标头中,您应该有“Access-Control-Allow-Origin:”然后它会起作用

【讨论】:

猜你喜欢
  • 2022-11-07
  • 2018-06-23
  • 2021-01-24
  • 2017-01-04
  • 2021-10-30
  • 2021-11-11
  • 2022-01-02
  • 2021-09-24
  • 2012-10-27
相关资源
最近更新 更多