一、原生sAjax请求
1、创建XMLHttpRequest
对象,也就是创建一个异步调用对象;
var xhr = XMLHttpRequest();
3、设置响应HTTP
请求状态变化的函数;
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){
if(xhr.status == 200){
doResponse(xhr);
}
}
//readyState状态是从0-4
//0:请求未初始化,还没有调用 open()。
//1:请求已经建立,但是还没有发送,还没有调用 send()。
//2:请求已发送,正在处理中(通常现在可以从响应中获取内容头)。
//3:请求在处理中;通常响应中已有部分数据可用了,没有全部完成。
//4:响应已完成;您可以获取并使用服务器的响应了。
//status
//1xx - 信息提示 100 - Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。
//2xx - 成功 200 - OK 一切正常,对GET和POST请求的应答文档跟在后面。
//3xx - 重定向 300 - Multiple Choices 客户请求的文档可以在多个位置找到,这些位置已经在返回的文档内列
//4xx - 客户端错误 400 - Bad Request 请求出现语法错误。
//5xx - 服务器错误 500 - Internal Server Error 服务器遇到了意料不到的情况,不能完成客户的请求。
3、创建一个新的HTTP
请求,并指定该HTTP
请求的方式、URL
及验证信息;
//post请求 get请求如果有参数就需要在url后面以?开头拼接参数,
xhr.open("GET","validate.php");
3.5、修改请求头
POST请求专属
//POST请求中的默认Content-Type text/plain PHP服务器会拒绝接受请求数据
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
4、发送HTTP
请求;
//如果是GET请求就直接填写null,如果是POST请求,参数写在里面
xhr.send(null);
二、Jquery中的Ajax请求
$.ajax({
type: "get",// get或者post
url: "abc.php",// 请求的url地址
data: {},//请求的参数
dataType: "json",//json写了jq会帮我们转换成数组
success: function(){//请求成功返回
},
error: function () {//请求失败返回
}
})