什么是ajax
Asynchronous JavaScript and XML:异步的JavaScript和XML;
ajax的优点
不需要加载整个页面的情况下,与服务器交换数据并更新部分网页内容。
ajax的操作
用js发起请求,并得到服务器返回的内容
1.创建一个对象:var http=new XMLHttpRequest;
2.监听请求成功后的状态变化:
http.onreadystatechange//是用来监听readystate的变化的。
readystate//当前请求的后台的状态:0-请求未初始化;1-请求已经建立,还未发送;2-请求已经发送;3-请求正在处理中;4-请求已经完成;可以获得并使用服务器的相应。
status//表示处理的结果
200-处理成功;404-找不到对象;503-服务器超时
2.设置请求参数:http.open(res,url,sync)
res是请求的类型:get,post,put//get:获取数据();post:新建,增加数据;put:更新,修改,删除数据。
url是地址:远程或本地。
sync表示是否异步,值为true/false,默认为true,表示异步。
3.发起请求:http.send();
4.操作dom元素,局部动态刷新。
function showlist(res, url, callback) {
var http = new XMLHttpRequest();
http.open(res, url);
http.send();
http.onreadystatechange = function () {
if (http.readyState == 4 && http.status == 200) {
callback(http.response);
}
}
}
showlist("get", "http://127.0.0.1:8080/diancai/selectlist.php?id=" + id, function (data) {
var datalist = JSON.parse(data);
for(var i=0;i<datalist.length;i++)
{
var div=document.createElement("div");
var spanname=document.createElement("span");
spanname.innerHTML=datalist[i].name;
div.appendChild(spanname);
var spanprice=document.createElement("span");
spanprice.innerHTML=datalist[i].price+"/元";
div.appendChild(spanprice);
block.appendChild(div);
}
})