ajax是asynchronous javascript and XML的简写,中文翻译是异步的javascript和XML,这一技术能够向服务器请求额外的数据而无须卸载页面,虽然名字中包含XML,但ajax通信与数据格式无关.
ajax包括以下几步骤:1、创建AJAX对象;2、发出HTTP请求;3、接收服务器传回的数据;4、更新网页数据
概括起来就是,ajax通过原生的XMLHttpRequest
对象发出HTTP请求,得到服务器返回的数据后,再进行处理
ajax技术的核心是XMLHttpRequest对象(简称XHR),XHR为向服务器发送请求和解析服务器响应提供了流畅的接口,能够以异步方式从服务器取得更多信息
1、创建
创建一个XHR对象,也叫实例化一个XHR对象,因为XMLHTTPRequest()是一个构造函数,
xhr = new XMLHttpRequest();
2、发送请求
在使用XHR对象时,要调用的第一个方法是open(),该方法接受3个参数
xhr.open("get","example.php",false);
send()方法接收一个参数,即要作为请求主体发送的数据。调用send()方法后,请求被分派到服务器
如果是GET方法,send()方法无参数,或参数为null;如果是POST方法,send()方法的参数为要发送的数据
xhr.send(null);
3、接受响应
responseText: 作为响应主体被返回的文本(文本形式);
responseXML: 如果响应的内容类型是'text/xml'或'application/xml',这个属性中将保存着响应数据的XML DOM文档(document形式);
status: HTTP状态码(数字形式);
statusText: HTTP状态说明(文本形式);
浏览器禁止跨域访问:
协议、域名、端口
可以实现跨域访问的标签:
<image>站点统计
<link>
<script>
<iframe>
同源策略,不同源地址之间,默认不能相互发送AJAX请求
1、借助<script>实现跨域请求,只能get请求
2、代理,通过后台(ASP、PHP、JAVA、ASP.NET)获取其他域名下的内容,然后再把获取的内容返回到前端
3、JSONP,通过script 标签请求一个服务端的PHP文件,这个文件返回的结果是一段JS,作用是调用我们事先定义好的一个函数
从而将服务端想要给客户端发送过去的数据发送给客户端。
参考:http://www.cnblogs.com/xiaohuochai/archive/2016/11/11/6036475.html#anchor8