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

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

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

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

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

你可能感兴趣的:(为什么form表单不出现跨域,但是ajax会)