AJAX 的请求
今天,不不不,是昨天的内容,今天补救一下,昨天写了一个标准格式的 JSON 传输到后台,试了很多格式的接收数据都没有接收到数据。然后了解了一下 最早的 AJAX,现在使用最多的还是 JQuery 的ajax()。
先了解下早先的 AJAX
实现一个完整的 AJAX 异步调用和局部刷新,通常需要以下几个步骤:
(1) 创建 XMLHttpRequest 对象,也就是创建一个异步调用对象。
(2) 创建一个新的 HTTP 请求,并指定该 HTTP 请求的方法、URL及验证信息。
(3) 设置响应 HTTP 请求状态变化的函数。
(4) 发送 HTTP 请求。
(5) 获取异步调用返回的数据。
(6) 使用 JavaScript 和 DOM 实现局部刷新。
- 建立 XMLHttpRequest 。
var request = null;
if(window.XMLRequest){
request=new XMLRequestHttpRequest(); //IE7、IE8、360等
}else{
request=new ActiveXObject("Microsoft.XMLHTTP");//IE5、IE6
}
- 设置回调函数。
request.onreadystatechange= callback;
function callback(){}
- 使用OPEN方法与服务器建立连接
xmlHttp.open("get","ajax?name="+ name,true)
此步注意设置http的请求方式(post/get),如果是POST方式,注意设置请求头信息xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
- 向服务器发送数据。
xmlHttp.send(null);
如果是POST方式就不为空。
- 针对回调函数中的不同的内容作出响应。
if(xmlHttp.readyState == 4){ //判断交互是否成功
if(xmlHttp.status == 200){ //获取服务器返回的数据 //获取纯文本数据
var responseText =xmlHttp.responseText;
document.getElementById("info").innerHTML = responseText;
}
}
Post
- 原始 post 请求(使用 XMLHttpRequest 对象)
Get
- 原始的 get请求(使用 XMLHttpRequest 对象)
### 上述 post 和 get 中的参数都是通过 url?参数名=参数值,进行传递的。
也就是说在进行向后台传递数值的时候,我们需要 键值对的形式。