原生ajax请求

//ajax请求函数
function ajax(){
//兼容IE写法 考虑兼容性
//实例化请求对象
var xhr = window.XMLHttpRequest ? (new XMLHttpRequest()) : (new ActiveXObject('Mircosoft.XMLHTTP'));
var src = './data.json';
//确定请求方式,路径,同步或者异步
//第三个参数默认为true,默认为异步
xhr.open('GET',src,true);

//发送请求
xhr.send();
//监听请求状态
xhr.onreadystatechange = function(){
if(xhr.readyState === 4 && xhr.status === 200){
console.log(xhr.responseText);
}
}

/*
*注意* 如果为post请求,需要设置请求头为:(把content-type设置为表单提交类型)
* xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
* post请求可在send方法里传参 如:xhr.send('name=abc');
* */

/*
* form表单提交,也可以用formData对象来代替,当用formData来发送ajax请求时,就不需要设置请求头了
* 例如: var formData = new FormData();
* formData.append('name','123');
* 发送: xhr.send(formData); //直接把实力化的formData对象传进去
*/

/*
* setRequestHeader方法:
* 1.设置请求头,同字段多次设置时,值会合并到一个字段中
* 2.必须在open和send方法执行顺序中间调用
* 3.默认的Accept字段的值为'星 / 星',代表接收任何类型的内容
*/

/*
* getResponseHeader方法:
* 1.获取响应头内容,参数接收响应头字段名,返回字段值;
* 2.字段名忽略大小写;
* 3.多个同名字段存在时,多个值以逗号 + 空格连成一个;
* */
}

猜你喜欢

转载自www.cnblogs.com/Riona-C/p/9130644.html