XMLHttpRequest对象创建:
Var request;
if(window.XMLHttpRequest){
request=new XMLHttpRequest();
}else{
request=new ActiveXObject("Microsoft");//IE5,6
}
HTTP请求:
GET:一般用户信息的获取
使用URL传递参数
对所发送信息的数量也有限制,一般在2000字符
(如果只用于消息的获取那么是安全的,如果用于信息的传递则一般是不安全的因为很容易被获取到)
POST:一般用于修改服务器上的资源
对所发送信息的数量无限制
(安全许多,对其他人不可见)
XMLHttpRequest发送请求:
open(method,url,async) method:[get/post],url:请求地址,async[true/false]true则是异步false则是同步,默认是true所以一般不填
send(string):使用get方法的话这个send的参数可以不填写,如果是post则一定需要填写参数
在使用post发送请求的时候,必须要加在中间加上request.serRequesetHeader("content-tyepe","application/x-www-form-urlencoded"),告诉浏览器我发送的是一个表单
XMLHttpRequest取得响应:
(但实际上使用json格式多一些)
如果响应完成并且请求成功(request.readyState==4&&request.status==200),那么接下来可以做一些事情了。
document.getElementById("search").onclick=function(){
var request=new XMLHttpRequest();
request.open("GET","service.php?number="+document.getElementById("keyword").value);
request.send();
request.onreadystatechange=function(){
if(request.readyState===4){
if(request.status===200){
document.getElementById("searchResult").innerHTML=request.responseText;
}
else{
alert("发送错误"+request.status)
}
}
}
}
json
json比XML更好,一般都是用json
json 的书写格式:名称:值对(名称一定需要加"")
如:"name":"郭靖","age":17
json的解析方式
1,eval :eval( '(' +json+ ')' );
但这种方法有很大的缺陷,他不仅会解析json中的数据还会执行json中的语句,这样是十分危险的,所以一般不用eval。
2,JSON.parse(json);
jsonlint检验json格式是否正确。