如何为API发布请求绕过Access-Control-Allow-Origin

时间:2019-01-27 11:32:37

标签: jquery .net ajax cors

我在.net应用程序中使用ajax和jquery,
支付api的使用方法是使用ajax,
此api具有(基本身份验证+帖子类型),
当我尝试射击时,我会得到:-

  

“ CORS策略已阻止从源'null'通过'API URL'访问XMLHttpRequest:在请求的资源上没有'Access-Control-Allow-Origin'标头。”

我尝试使用, JSONP 无效->弹出窗口询问我的用户名和密码,
我尝试使用此插件 jquery.ajax-cross-origin 进行代理绕过
不起作用->花费大量时间然后出现相同的问题
这是我的Ajax代码:

       $.ajax({
            // crossOrigin: true,
            url: "api url",

            type: "POST",     
            beforeSend: function (xhr) {
                xhr.setRequestHeader ("Authorization", "Basic " + btoa("name" + ":" + "password"));
            },                
            headers: {
                'Access-Control-Allow-Origin': '*'
            },

我弄清楚我可以通过.net添加标头之类的东西来做些什么, 这花了我很多时间,但仍然没有解决。

此外,如果我使用chrome插件启用CROS共享,它也可以工作,但这不是生产解决方案,

谢谢。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,
它不是正确的方法,但是比将浏览器插件安装到pybass CORS更好, 解决方案是使用代理,类似这样:

         var proxy = 'https://cors-anywhere.herokuapp.com/';
        var url = "api url";

        // GET SESSION ID 
        $.ajax({
            url: proxy + url,