Ajax

后宫君

Ajax:异步 js 和 xml

异步刷新:如果网页中某个地方需要修改,异步刷新可以使该需要刷新的地方刷新,其余地方不变

实现:
js:XMLHttpRequest对象
XMLHttpRequest对象中的方法:
open(请求方式,请求地址,是否是异步);//与服务端建链接
send();//发送消息  get方式:send(null),post方式:send(信息);
setRequestHeader(header,value);get方式:不需要设置此方法,
post方式:{
a.如果请求包含文件上传:setRequestHeader("Content-Type","mulitiparty/form-data");
			b.如果不包含文件上传:setRequestHeader("Content-Type","application/x-www-form-urlencoded");
}
XMLHttpRequest对象的属性:
readyState:表示XMLHttpRequest对象发送的HTTP请求状态,共有五种状态:
状态值				简介
0		表示XMLHttpRequest对象没有初始化

1		表示XMLHttpRequest对象开始发送请求:已经执行了open()方法并完成了相关资源的准备

2		表示XMLHttpRequest对象已将请求发送完毕:已经执行了send()方法来发送请求,但是还没有收到响应

3		表示XMLHttpRequest对象开始读取响应信息:已经接收到HTTP响应的头部信息,但是还没有将响应体接收完毕
		
4		表示XMLHttpRequest对象将响应信息全部读取完毕

status:响应状态:
状态码				含义
200			服务器正常响应
			
400			无法找到请求的资源

403			没有访问权限

404			访问的资源不存在

500			服务器内部错误,很可能是服务器代码有错

onreadystatechange:回调函数
a(),b(),c()
如果a()是b()的回调函数,则b()执行完毕会去执行a()

responseText:响应格式为Text
responseXML:响应格式为XML

jquery(推荐):
$.ajax({
      url:请求的地址,
      请求方式(type):get|post,
      date:请求的数据,
      success:function(返回值,返回值状态){
              
             },
      error:function(xhr,errorMessage,e){
 
            }
});

$.get(
      请求地址,
      请求数据,
      function(result){
  
      },
      预期返回值类型(XML,JSON.TEXT)
);

$.post(
      请求地址,
      请求数据,
      function(result){
  
      },
      预期返回值类型(XML,JSON.TEXT)
);

$(元素).load(   //会将返回值直接加载到选择器选中的元素上
       请求地址,
       请求数据,
       预期返回值类型(XML,JSON.TEXT)
);

$.getJSON(
      请求地址,
      请求数据(JSON格式),
      function(result){
          var jsonArray = eval(result);//如果result是一个JSON集合,则遍历
          $.each(jsonArray,function(i,element){
                    //this.key     this.value
                });
      }
);

1

发表评论