Jquery - AJAX
AJAX是与服务器交换数据的技术,他在不重新加载全部页面的情况下,实现对部分网页的更新。
像服务器发送请求
Xmlhttp.open(“method”,”url”,async);
Xmlhttp.send(string);
*method:请求的类型,GET或POST
*url:文件在服务器的位置
*async:true(异步)或false(同步)
String:仅用于POST请求
GET/POST:
GET的优点就是快,方便,以下情况最好用POST
*无法使用缓存文件
*向服务器发送大量数据
*发送包含未知字符的用户输入
EG:
Xmlhttp.open(“GET”,”demo_get.html”,true);
Xmlhttp.send();
如果要像HTML表单那样的post数据,可以使用setRequestHeader()来添加HTTP头部,然后再send()方法中规定你需要发送的数据
xmlhttp.open("POST","/try/ajax/demo_post2.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("fname=Henry&lname=Ford");
open() 方法的 url 参数是服务器上文件的地址,该文件可以是任何类型的文件,比如 .txt 和 .xml,或者服务器脚本文件,比如 .asp 和 .php
EG:
xmlhttp.open("GET","ajax_info.txt",false);
xmlhttp.send();
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
服务器响应
如需获得来自服务器的响应,请使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性。
responseText 获得字符串形式的响应数据
EG:
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
responseXML 获得xml形式的响应数据
EG:
xmlDoc=xmlhttp.responseXML;
txt="";
x=xmlDoc.getElementsByTagName("ARTIST");
for (i=0;i<x.length;i++)
{
txt=txt + x[i].childNodes[0].nodeValue + "<br>";
}
document.getElementById("myDiv").innerHTML=txt;
常用模式:
$.ajax({
Url: //请求地址
Datatype: //返回格式
Async: //是否异步
Data : //参数值
Type: //请求方式
Success: //成功参数
Error: //失败参数
})