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