一, 请求服务器的步骤
第一步 创建xmlhttp实例 //readyState=0
var xhr=new XMLHttpRequest()
第二步 写入地址和接口地址 //readyState=1
xhr.open("GET","http://yapi.shangyuninfo.com/mock/120/api/getnewsinfo")
第三步 发送请求 //readyState=1
xhr.send()
第四步 //readyState=2/3/4
xhr.onreadystatechange=function(){
if(xhr.readyState==4&xhr.status==200){
var resn= JSON.parse(xhr.response)
console.log(resn)
console.log(resn.message[0].title)
}
}
二,ajax的状态码:xhr.readyState的值
0: 请求未初始化
1: 服务器连接已建立
2: 请求已接收
3: 请求处理中
4: 请求已完成,且响应已就绪
三,json数据类型的转换
1,JSON.stringify()
json对象转成json字符串
2,JSON.parse()
json字符串转换为json对象
实例:
var obj1 = {'a':'1','b':'2'}
var obj2 ='{"a":"1","b":"2"}'
// json对象转成json字符串
var res = JSON.stringify(obj1)
console.log(typeof(res))
// json字符串转换为json对象
var res1 = JSON.parse(obj2);
console.log(res1)
四,post和get两种请求方式的区别
一,get:
1.可以之间再浏览器运行
2.传参可以之间拼接再?后面
3.get拼接的参数不能超过2k
4.不安全
二, post:
1.可以通过postman来测试接口
2.请求需要设置请求头
3.参数再send中传入
4.没有大小限制
5.安全系数高,用户输入用post,防止用户攻击或者,用户密码泄露
五,创建xml对象的兼容性写法
var xmlhttp;
if (window.XMLHttpRequest) {
// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
xmlhttp=new XMLHttpRequest();
} else {
// IE6, IE5 浏览器执行代码
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}