为什么form表单提交没有跨域问题,但ajax提交有跨域问题?

貌似浏览器也不允许js修改已经存在的header,只能增加自定义header: ajax - Set a request header in Java…
关注者
381
被浏览
155,012
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

因为原页面用 form 提交到另一个域名之后,原页面的脚本无法获取新页面中的内容。

所以浏览器认为这是安全的。

而 AJAX 是可以读取响应内容的,因此浏览器不能允许你这样做。

如果你细心的话你会发现,其实请求已经发送出去了,你只是拿不到响应而已。

所以浏览器这个策略的本质是,一个域名的 JS ,在未经允许的情况下,不得读取另一个域名的内容。但浏览器并不阻止你向另一个域名发送请求。