日期:2014-05-16 浏览次数:20728 次
什么是Ajax??异步的JavaScript和XML(Asynchronous?JavaScript and XML,Ajax)。浏览器允许JavaScript脚本向幕后的网站发送一个HTTP请求而又无需重新加载页面。
?
? synchronous??adj 同时发生的;同步的 【记】syn=same,chron时间,ous-同时间的-同步的 ? |
?
?
首先,本质上这个功能主要由浏览器完成,浏览器提供这个功能给JavaScript脚本来调用,然后浏览器根据规则来回调脚本去处理响应。所以Ajax中其实浏览器是最大苦力。JavaScript也可以换成其他脚本,另外交换数据不一定是XML格式的,所以XML也是可有可无的。所以Ajax中除了A(Asynchronous)以外,其他几个字母都是浮云。
?
那么浏览器是如何封装异步调用功能给JavaScript调用的呢?答案是浏览器将这个功能封装在一个JavaScript对象window.XMLHttpRequest里面,这个对象像一个代理一样,为JavaScript调用提供接口。
?
XMLHttpRequest提供了一些方法以及属性如下:
上文一直强调核心功能是浏览器提供的,一直没有说浏览器到底做了什么?看看上面XMLHttpRequest提供的方法,再想想TCP/IP原理,你就会明白,其实浏览器只是封装了一个Socket调用而已。XMLHttpRequest作为封装这个Socket