【问题标题】:No 'Access-Control-Allow-Origin' cors issue [duplicate]没有'Access-Control-Allow-Origin' cors问题[重复]
【发布时间】:2019-02-06 02:58:24
【问题描述】:

我有一个调用网络服务 API 的函数。

     function GetData() {         
        var prm =
         {
             EVENT_CODE: EvnCode
         };
        $.ajax({
            url: 'http://00.00.00.000/CRM/geteventwisebudgetactualamount',
            headers: {
                'AuthKey': 'test',
                'Content-Type': 'application/x-www-form-urlencoded',                    
            },            

            type: 'POST',
            contentType: 'application/x-www-form-urlencoded',
            data: prm,
            crossDomain: true,
            dataType: 'json',
            success: function (data) {


            },
            error: function (errMsg) {
                console.log('AJAX FAILED, message : ' + errMsg);
            }
        });
    }

它总是显示标题中提到的错误,请帮助解决这个问题。

【问题讨论】:

  • 这个答案很好地解释了 CORS - stackoverflow.com/a/10636765/3574481
  • 我有点困惑,我从其他机构得到了这个 api url,现在我不知道他们在他们的代码中做了什么。我只是使用他们的 api url 来使用 ajax 获取记录。请建议,这个问题发生在我这边或 API 方面。
  • CORS 需要在服务器端进行修复。你不能在客户端上覆盖它——这就是它的全部意义所在。服务器决定接受来自哪个客户端条件的请求。
  • 如果它不是您的 API 并且提供商不支持 CORS(或者不会将您添加到他们的安全来源列表中),那么您就不能使用 AJAX 来发出此请求。您必须改为从服务器端代码发出请求,然后将响应传递回您的页面。

标签: jquery asp.net ajax web-services cors


【解决方案1】:

您需要设置 CORS 以接受调用 API 的来源。 即,如果调用此函数的应用是 ABC.com,则 API 必须允许来源 ABC.com。

【讨论】:

猜你喜欢
  • 2016-09-20
  • 1970-01-01
  • 2017-10-24
  • 2021-05-12
  • 2016-09-30
  • 2018-08-30
  • 2020-10-08
  • 2016-05-26
  • 2018-11-17
相关资源
最近更新 更多