ajax简介
1.创建XMLHttpRequest对象:
function newXMLHttpRequest() {
var requestObj;
if (window.XMLHttpRequest) {
// Non IE
requestObj = new ActiveObj('XMLHttpRequest');
} else {
//IE
requestObj = new ActiveObj('Microsoft.XMLHTTP');
}
return requestObj;
}
2.设置在请求过程中状态发生变化时要调用的函数,当然这个过程中它会被调用好几次:
var xmlRequest;
xmlRequest = newXMLHttpRequest();
xml.onreadystatechange = callbackhandler;
在发送过程中会有5种状态的转换:
状态数字码描述
0
未初始化状态。这是在开始操作之前readyState域最初的值
1
正在加载状态。它意味着open()方法被调用了,但还没有调用send()方法
2
已经加载状态。它意味着send()方法被调用,并且对象已经完成请求了,但是还没有接收到数据,此时头信息和状态是可用的
3
正在接收(或者说交互)状态。此时数据正在接收中,reponseText中存储着到目前为止接受到的数据
4
交互完成状态。请求已经完成并且已经接收到完整的响应
3.调用open方法告诉对象想调用什么URL来处理这次请求,它有三个参数,第一个参数是用来指定使用什么http方法(post、get等),第二个就是要执行的url,第三个参数是boolean类型,告诉对象是否需要异步执行调用,一般都是true:
XMLRequest.open("post", url, true);
4.调用send()来设置要发送到服务器端的数据,注意此时发送的数据最好使用encodeURIComponent() 方法进行编码,否则像空格这类的字符就会出现乱码:
XMLRequest.send('value1=' + encodeURIComponent(value1) + '&value2=' + encodeURIComponent(value2));
在状态转换时处理的函数中只要判断readyState = 4时即可,当然这个函数可以进一步分解,在里面包装XML的验证等操作。自己慢慢去研究吧。
相关文档:
项目中想用ajax,于是在网上扒了n多资料,犯了n多错误,从今天上班到现在一直在处理这个问题,终于还是把它解决了。
当我看到页面的ajax显示后,我兴奋异常,为了记录自己学习的ajax历程,也为了让更多的人少走弯路,特写此一文以记之!
废话不说了,为了更好的理解,我重做了一个小的项目,以加深印象 ......
function eidtPageCheckIsOrder ( serverid ){
var telephonenum = document.formx.TELPHONENUM.value;
var webWapFlag=document.formx.WEBORWAPFLAG.value;
var param=setPisaQueryString('TELPHONENUM',telephonenum,'WEBORWAPFLAG',webWapFlag,'serverid',serverid,'destFold ......
js文件:
var where=" where pd_Isjifen=0 and pd_Isok=1"; //查询条件
var psize=16; //查询数据数目
var pindex=0;//当前页数
var order=" order by pd_Update desc,type_sort,pd_brand,pd_typeid"; //排序条件
var temp=0; //模板名称
var Pcount=0;
//获取参数
function getUrlPara(p ......
function send_request(callback, urladdress, isReturnData){
var xmlhttp = getXMLHttpRequest();
xmlhttp.onreadystatechange = function(){
&nb ......
项目中想用ajax,于是在网上扒了n多资料,犯了n多错误,从今天上班到现在一直在处理这个问题,终于还是把它解决了。
当我看到页面的ajax显示后,我兴奋异常,为了记录自己学习的ajax历程,也为了让更多的人少走弯路,特写此一文以记之!
废话不说了,为了更好的理解,我重做了一个小的项目,以加深印象。现在 ......