【发布时间】:2017-05-12 23:01:57
【问题描述】:
我尝试在 ajax 发布到外部域的授权中添加标头。代码是这样的
$.ajax({
url: "externalUrl",
headers : {
"Authorization": token
},
type: "POST",
data: (data),
crossDomain : true,
dataType: "json",
success: function(result){
//run something here
}
});
我也在我的服务器中设置了 CORS 设置
res.Header().Set("Access-Control-Allow-Origin", "*")
res.Header().Set("Access-Control-Allow-Method", "*")
res.Header().Set("Access-Control-Allow-Headers", "*")
但是当客户端尝试发布时,方法变为 OPTIONS 是否可以添加header ini ajax post跨域?
【问题讨论】:
-
如果服务器响应允许标头,它应该在选项请求之后发送 post 请求
-
它以代码 200 响应,但没有数据结果 @madalinivascu,我尝试在我的 post 处理程序中调试,但没有迹象表明请求正在处理处理程序。
-
有选项请求您提供的允许标头吗?
-
我为选项添加了处理程序,可以读取其他标题。但是我发现 ajax 在我的服务器中命中了 3 次,它命中了后处理程序,然后是选项处理程序,然后是后处理程序,它应该是这样的吗? @madalinivascu
标签: javascript jquery ajax cross-domain