Javascript 使用Ajax将CORS头添加到http请求
我已经开发了一个Restfull应用程序,我想添加另一个web应用程序来使用它的服务,因此我进行以下Ajax调用:Javascript 使用Ajax将CORS头添加到http请求,javascript,jquery,ajax,rest,http,Javascript,Jquery,Ajax,Rest,Http,我已经开发了一个Restfull应用程序,我想添加另一个web应用程序来使用它的服务,因此我进行以下Ajax调用: $.ajax({ type: "Post", async: false, url: "ip_adress/Inviter/api/Account/Register", data: donne, headers: { "Access-Control-Allow-
$.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,状态文本:“语法错误:未能
执行“setRequestHeader”…-Origin:”不是有效的HTTP标头
字段名。“}错误DOMEException:无法执行“setRequestHeader”
在“XMLHttpRequest”上:“访问控制允许来源:”不是有效的
HTTP头字段名
所以我需要知道:
- 在这种情况下,我如何启用CORS
- 如何修复我的代码
- 你不能这样授权自己。这是一个响应标题;详情请参阅。将请求发送到的服务器必须将该头发送回浏览器,让浏览器知道允许页面向该服务器发送ajax请求是可以的。如果您试图请求的服务器不允许您的源代码,那么您无法在客户端代码中执行任何操作。您不能这样授权自己。这是一个响应标题;详情请参阅。将请求发送到的服务器必须将该头发送回浏览器,让浏览器知道允许页面向该服务器发送ajax请求是可以的。如果您试图请求的服务器不允许您的源代码,那么您在客户端代码中无法执行任何操作。不知怎的,我重定向到了这个问题,以获得我的Flask应用程序的解决方案。由于服务器必须将响应发送回报头,因此必须在服务器端设置CORS。
在我的情况下,我试图从
客户
到
服务器
因此,我设置了cors策略,以允许源代码位于客户端
headers: { "Access-Control-Allow-Origin:": "*"},
对于服务器端,flask提供了允许COR的库
from flask_cors import CORS
app = Flask(__name__)
CORS(app)
它实际上解决了这个问题不知何故,我重定向到这个问题,以获得我的Flask应用程序的解决方案。由于服务器必须将响应发送回报头,因此必须在服务器端设置CORS。 在我的情况下,我试图从 客户 到 服务器 因此,我设置了cors策略,以允许源代码位于客户端
headers: { "Access-Control-Allow-Origin:": "*"},
对于服务器端,flask提供了允许COR的库
from flask_cors import CORS
app = Flask(__name__)
CORS(app)
它实际上解决了这个问题服务器需要设置头,因为服务器决定允许谁访问以及从哪里访问。因此,第一个问题的答案是:将头添加到服务器。这将使您的第二个问题过时。
Access Control Allow Origin
是服务器返回的http响应头。有关详细信息,请参阅。服务器需要设置标头,因为服务器决定允许谁访问以及从何处访问。因此,第一个问题的答案是:将头添加到服务器。这将使您的第二个问题过时。Access Control Allow Origin
是服务器返回的http响应头。有关详细信息,请参阅。