【问题标题】:Is it possible to add header ini ajax post cross domain?是否可以在 ajax 跨域后添加标头?
【发布时间】: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


【解决方案1】:

通过为选项添加处理程序并在该处理程序中添加允许标头作为 madalin ivascu 的建议解决了问题。有可能!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-03
    • 2021-11-08
    • 2011-02-24
    • 2012-12-05
    • 2013-11-22
    • 2012-01-30
    • 2015-11-18
    • 2011-03-05
    相关资源
    最近更新 更多