为什么form表单不出现跨域,但是ajax会

同样是提交,有什么区别呢?

我理解表单提交是发出一次请求后把控制权交给后端,发出请求后就已经结束了。而ajax则是控制权在前端,发出请求后会读到请求的返回,进行展示。

那么,又为什么一个出现了跨域,另外一个没有出现呢?

跨域是由于浏览器的限制。因为原页面用 form 提交到另一个域名之后,原页面的脚本无法获取新页面中的内容。所以浏览器认为这是安全的。而 AJAX 是可以读取响应内容的,因此浏览器不能允许你这样做。所以浏览器这个策略的本质是,一个域名的 JS ,在未经允许的情况下,不得读取另一个域名的内容。但浏览器并不阻止你向另一个域名发送请求。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容