Closed bfchengnuo closed 5 years ago
在项目中涉及到 Ajax 跨域时(使用 CORS 方式),注意到浏览器其实会发两次请求,一次类型为 OPTIONS,然后才是为们实际的 GET 或者 POST 请求。
并且,如果前面的 OPTIONS 请求没有成功,后面就不会再继续了,也就是,如果你的项目没有对 OPTIONS 请求进行处理,导致其失败的话,即使后面你加了类似 @CrossOrigin 的跨域处理,也是没有效果的。
哎。。。老了,发现我原来已经写过了。
连接:CORS充电笔记
更正:不是所有的跨域请求都会触发预检请求,具体那些需要进行预检在上面的笔记里写的很清楚了。
那就这里再补充一个被我忽略的知识点:
Cookies 跟跨域没啥太大关系,跟存储的时候设置的 path 有关系;
并且,它对端口不敏感,也就是它不区分端口,在跨域方面不需要考虑太多 Cookie 携带的问题。
被遗忘的科普文章:什么是cookie
在项目中涉及到 Ajax 跨域时(使用 CORS 方式),注意到浏览器其实会发两次请求,一次类型为 OPTIONS,然后才是为们实际的 GET 或者 POST 请求。
并且,如果前面的 OPTIONS 请求没有成功,后面就不会再继续了,也就是,如果你的项目没有对 OPTIONS 请求进行处理,导致其失败的话,即使后面你加了类似 @CrossOrigin 的跨域处理,也是没有效果的。