Javascript jQuery Ajax选项调用中的自定义标题

Javascript jQuery Ajax选项调用中的自定义标题,javascript,jquery,ajax,http,rest,Javascript,Jquery,Ajax,Http,Rest,所以我知道,如果我在Ajax调用中有自定义头,浏览器会进行预飞行以确保资源可用。我的问题是,我的REST服务使用Http授权来实现安全性,但在选项调用中,没有传递此标头,即使它是通过beforeSend()添加的 我必须回复未经验证的选项吗 我认为选项请求是对CORS(跨来源资源共享)的飞行前检查。我认为您无法控制选项请求,您的浏览器会自动执行 而且,我不一定认为这是个问题。您可以在白名单的基础上实现CORS回复头。例如,假设允许域X和Y,但不允许域Z。如果您要求从X提交选项,您可以回答“允许:

所以我知道,如果我在Ajax调用中有自定义头,浏览器会进行预飞行以确保资源可用。我的问题是,我的REST服务使用Http授权来实现安全性,但在选项调用中,没有传递此标头,即使它是通过beforeSend()添加的


我必须回复未经验证的选项吗

我认为
选项
请求是对CORS(跨来源资源共享)的飞行前检查。我认为您无法控制
选项
请求,您的浏览器会自动执行

而且,我不一定认为这是个问题。您可以在白名单的基础上实现CORS回复头。例如,假设允许域X和Y,但不允许域Z。如果您要求从X提交
选项
,您可以回答“允许:X”。Y也是如此。但如果你来自Z,你会说“不允许”


解决这个问题的一种方法是,为了向后兼容较旧的浏览器(
DomainRequest
anywhere?),您可以使用JSONp,它不是很好,但更简单。

code?如果有错误的话,你会得到什么?这更多的是一个概念性的问题,代码不会给出任何解释。我在选项调用中得到“403 UnAuthorized”,因为它没有Http授权头。我想你是对的,因为它是一个CORS,我可以通过
Access control Allow Origin
完全控制请求来自何处,所以即使我让选项调用未经验证,也不应该有那么大的交易。但还是很高兴知道这是否可能,我认为这个问题与你的问题类似:答案链接到CORS规范(草案!):它说你不能在飞行前请求中添加用户身份验证、cookie或任何类型的主体。