这两天遇到一个问题,发送post请求时浏览器先发送了一个options请求,给我报错了。
headers添加了token之类的自定义属性,或者Content-Type不是text/plain, multipart/form-data, application/x-www-form-urlencoded 这三个之一的话就会发送options请求。
解决办法
在网上搜了好久都是叫后台处理,但是,我他妹的这个后台级别太低了,不想也不会处理这个问题。
最后找到解决办法是。
解决跨域的时候使用浏览器右键->属性->目标 最后添加‘ --args --disable-web-security --user-data-dir="C:/ChromeDevSession"’
注意:引号没有,最前面有个空格。
跨域之后如何携带cookie:
同源ajax请求是可以自动携带cookie的
而非同源需要客户端和服务端都做处理:
1.客户端需要对xhr对象设置withCredentials:true
2.服务端需要设置响应头 access-control-allow-credentials:true
同时必须指明 access-control-allow-origin 为服务方的origin, 不能为*
如果还不行,chroome需要配置一下
chrome://flags/
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。