猿问

使用jquery ajax,跨域的时候,默认会先发送option请求,如何能给options请求也设

例如如下的请求:
会首先默认向目标地址发送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);}
});


一只甜甜圈
浏览 3254回答 1
1回答

HUX布斯

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

相关分类

JavaScript
我要回答