jQuery为我们提供了更强大的Ajax封装
$.ajax({}) 可配置方式发起Ajax请求
*
url 接口地址 *
*
type 请求方式 *
*
timeout 请求超时 *
*
dataType 服务器返回格式 *
*
data 发送请求数据 *
*
beforeSend:function () {} 请求发起前调用 *
*
success 成功响应后调用 *
*
error 错误响应时调用 *
*
complete 响应完成时调用(包括成功和失败) *
$.get() 以GET方式发起Ajax请求
$.post() 以POST方式发起Ajax请求
$('form').serialize()序列化表单(即格式化key=val&key=val)
ajax的基本代码模式(get请求):
var xhr = new XMLHttpRequest();
//url通常就是一个php文件,可以返回信息
var url = "server.php?name=jack&age=18&a=99&b=ccc";
xhr.open("get", url);
xhr.send(null);
xhr.onreadystatechange = function(){
if( xhr.status == 200 && xhr.readyState == 4){
var str = xhr.responseText; //获得返回的文本
}
}
ajax的基本代码模式(post请求):
var xhr = new XMLHttpRequest();
//url通常就是一个php文件,可以返回信息
xhr.open("post", "server.php");
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhr.send("name=jack&age=18&a=99&b=ccc"); //send中带数据
xhr.onreadystatechange = function(){
if( xhr.status == 200 && xhr.readyState == 4){
var str = xhr.responseText; //获得返回的文本
}
}
获取json数据格式并处理的方式:
if( xhr.status == 200 && xhr.readyState == 4){
var str = xhr.responseText; //获得返回的文本(假设是json文本)
var obj = JSON.parse(str); //将json文本解释为json对象
}
获取xml数据格式并处理的方式:
//服务器端:
header("Content-Type: application/xml; charset=utf-8");
//客户端:
if( xhr.status == 200 && xhr.readyState == 4){
var xmlObj = xhr.responseXML; //获得返回xml文档
var obj1 = xmlObj.getElementById("dv");
var obj2 = xmlObj.querySelector("#dv2");
var items = xmlObj.querySelectorAll("item");
} |
|