Ajax和跨域请求

来源:互联网 发布:网络女主播yy 编辑:程序博客网 时间:2024/05/25 19:57

AJAX
AJAX不是JavaScript的规范,它只是一个哥们“发明”的缩写:Asynchronous JavaScript and XML,意思就是用JavaScript执行异步网络请求。
如果仔细观察一个Form的提交,你就会发现,一旦用户点击“Submit”按钮,表单开始提交,浏览器就会刷新页面,然后在新页面里告诉你操作是成功了还是失败了。如果不幸由于网络太慢或者其他原因,就会得到一个404页面。
个人理解:当点击“Submit”提交数据时,是由浏览器发送HTTP请求URL指定的文件,浏览器接收HTTP响应后刷新页面展示文件内容,所以通过浏览器发送请求必定会刷新页面。 但是通过JavaScript发送请求,再让JS处理响应,就可以让用户留在当前页面中。

这就是Web的运作原理:一次HTTP请求对应一个页面。
个人理解:无论客户端是浏览器发出HTTP请求,还是JavaScript发出HTTP请求,每次请求都是请求一个文件,浏览器请求成功后刷新页面展示响应资源,Web的最初设计就是这样。

如果要让用户留在当前页面中,同时发出新的HTTP请求,就必须用JavaScript发送这个新请求,接收到数据后,再用JavaScript更新页面,这样一来,用户就感觉自己仍然停留在当前页面,但是数据却可以不断地更新。
最早大规模使用AJAX的就是Gmail,Gmail的页面在首次加载后,剩下的所有数据都依赖于AJAX来更新。
用JavaScript写一个完整的AJAX代码并不复杂,但是需要注意:AJAX请求是异步执行的,也就是说,要通过回调函数获得响应。
在现代浏览器上写AJAX主要依靠XMLHttpRequest对象。

参考:廖雪峰的官方网站https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434499861493e7c35be5e0864769a2c06afb4754acc6000

浏览器安全策略及JSONP跨越请求:手把手教学,见http://blog.csdn.net/u014607184/article/details/52027879

原创粉丝点击