javascript - 使用jquery ajax,跨域的时候,默认会先发送option请求,如何能给options请求也设置头部?
巴扎黑
巴扎黑 2017-04-11 12:23:01
[JavaScript讨论组]

例如如下的请求:
会首先默认向目标地址发送options请求,这个请求并没有携带sessionId的头部。
当服务端服务端正确响应之后,浏览器才会发送真正的poost请求。
但是服务端要求每个请求必须携带sessionId,所以请问,如何在默认发送的options请求上携带sessionId的信息?

$.ajax({
    type:'post',
    url:'http://xx.x.x.xx:xxxx/xx/xxx',
    dataType:'json',
    contentType:'application/json',
    headers:{sessionId:'a52cb1d0-30b4-4b35-abc4-534915342506'},
    data:data,
    error:function(data){console.log(data);},
    success:function(data){console.log(data);}
});
巴扎黑
巴扎黑

全部回复(2)
PHP中文网

让服务端处理,这个 options 请求只是跨域复杂请求(Preflighted requests)的一次嗅探。
如果服务端兼容不了就是他们的接口实现并没有遵循此 CORS 的规范。
或者你们降级到 Simple requests,不过估计这样服务端改动更大。

大家讲道理

你把ajax封装一层不就可以了吗?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号