壹 - - ajax向服务器发送数据
一共五步
function postData(){
var ajax;//1-声明定义ajax
if(window.XMLHttpRequest){ //创建ajax对象,else分支里面的是兼容IE5,IE6的写法
ajax=new XMLHttpRequest();
}else{
ajax=new ActiveXObject("Microsoft.XMLHTTP");
}
ajax.onreadystatechange=function(){ //2-设置ajax监听状态
if(ajax.readyState==4&&ajax.status==200){
//当准备状态在4,服务器返回状态是200,表明数据交互完成。就是说数据已经准备就绪
console.log(ajax.responseText); //输出得到返回的数据
}
}
ajax.open("POST","data.php",true); //3- post为发送;参数2为接口,参数3只能选true或者false(true=异步,false=同步)
// 4- 根据html的要发送的内容设置请求头,(以下四选一)
setRequestHeader()设置HTTP请求头
setRequestHeader("Content-type",数据类型)
1.发送表单数据
ajax.setRequestHeader("Content-type","application/x-www-form-urlencoded;charset=utf-8");
2.发送纯文本(默认值)
ajax.setRequestHeader("Content-type","text/plain;charset=utf-8");
3.发送html文本
ajax.setRequestHeader("Content-type","text/html;charset=utf-8");
4.发送json格式的数据:
ajax.setRequestHeader("Content-type","application/json;charset=utf-8");
编码可带可不带,值对大小写不敏感
//5- 向服务器发送数据
ajax.send("userName="+userName+"&location="+location);//现在里面放的是例子
// ↑ 填入要发送的数据,使用名=值的方式
}
贰 - - ajax向服务器请求数据
一共四步
var ajax; //1-创建ajax对象,else分支里面的是兼容IE5,IE6的写法
if(window.XMLHttpRequest){
ajax=new XMLHttpRequest();
}else{
ajax=new ActiveXObject("Microsoft.XMLHTTP");
}
ajax.onreadystatechange=function(){ //2-监听数据交互状态
if(ajax.readyState==4&&ajax.status==200){//当数据交互完成且服务器返回状态是OK的时候,触发
areaObj=JSON.parse(ajax.responseText);//获取请求得到的数据 定义一个全局变量去接比较方便(看情况)
//这里放要处理的内容(看情况)
}
}
ajax.open("GET","js/data.json",true); //3- get是接受数据,参数二是要取到的数据,参数三false同步或者true异步
ajax.send(); //4-发送请求。请求数据不用填写参数