小编典典

使用Ajax将CORS标头添加到http请求

ajax

我已经开发了一个Restfull应用程序,我想添加另一个Web应用程序来使用其服务,因此我进行了以下Ajax调用:

 $.ajax({
            type: "Post",
            async: false,
            url: "ip_adress/Inviter/api/Account/Register",
            data: donne,
            headers: {  "Access-Control-Allow-Origin:": "*"},
            success: function (data) {
                console.log(data);
                var tab = [];
                tab["username"] = username;
                tab["password"] = pwd;
                var isLogged = Login.CheckCredential(tab, username);
                return isLogged;
            },
            error: function (xhr, status, error) {
                console.log(xhr);
                console.log(status);
                console.log(error);
            }

        });

我得到这个例外:

对象{readyState:0,状态:0,statusText:“
SyntaxError:无法执行’setRequestHeader’…-Origin:
‘不是有效的HTTP标头字段名称。”}错误DOMException:无法在’XMLHttpRequest’上执行’setRequestHeader’
:’Access-Control-Allow-Origin:
‘不是有效的HTTP标头字段名称。

所以我需要知道:

  • 在这种情况下如何启用CORS?

  • 如何修复我的代码?


阅读 238

收藏
2020-07-26

共1个答案

小编典典

您不能像那样授权自己。这是一个 响应 头;规范的细节。您要向其发送请求的 服务器
必须将该标头发送回,以使浏览器知道可以允许您的页面向该服务器发送ajax请求。如果您要请求的服务器不允许您的来源,则您无法在客户端代码中执行任何操作。

2020-07-26