Var request; if(window.XMLHttpRequest){ request=new XMLHttpRequest(); }else{ request=new ActiveXObject("Microsoft");//IE5,6 }
GET:通常用户信息的获取php
使用URL传递参数ajax
对所发送信息的数量也有限制,通常在2000字符json
(若是只用于消息的获取那么是安全的,若是用于信息的传递则通常是不安全的由于很容易被获取到)浏览器
POST:通常用于修改服务器上的资源安全
对所发送信息的数量无限制服务器
(安全许多,对其余人不可见)app
open(method,url,async) method:[get/post],url:请求地址,async[true/false]true则是异步false则是同步,默认是true因此通常不填异步
send(string):使用get方法的话这个send的参数能够不填写,若是是post则必定须要填写参数async
在使用post发送请求的时候,必需要加在中间加上request.serRequesetHeader("content-tyepe","application/x-www-form-urlencoded"),告诉浏览器我发送的是一个表单post
(但实际上使用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比XML更好,通常都是用json
如:"name":"郭靖","age":17
1,eval :eval( '(' +json+ ')' );
但这种方法有很大的缺陷,他不只会解析json中的数据还会执行json中的语句,这样是十分危险的,因此通常不用eval。
2,JSON.parse(json);
jsonlint检验json格式是否正确。