六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 23|回复: 0

ajax

[复制链接]

升级  32%

2

主题

2

主题

2

主题

童生

Rank: 1

积分
16
 楼主| 发表于 2013-1-29 11:31:53 | 显示全部楼层 |阅读模式
function PostAsynToServer(Url,Param){

        var obj;

        

        if(window.ActiveXObject)

        {

            obj=new ActiveXObject('Microsoft.XMLHTTP');

        }

        else if(window.XMLHttpRequest)

        {

            obj=new XMLHttpRequest();

        }

        obj.open('POST',Url,true);

        obj.send(Param);

       var strReturn = obj.responseText;

       alert(1);

}

PostAsynToServer(url, null);

alert(2);



代码二:

function postToServer(Url,Param){

        var obj;

        

        if(window.ActiveXObject)

        {

            obj=new ActiveXObject('Microsoft.XMLHTTP');

        }

        else if(window.XMLHttpRequest)

        {

            obj=new XMLHttpRequest();

        }

        obj.open('POST',Url,false);

        obj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

        obj.send(Param);

        var strReturn=obj.responseText;

        alert(1);

}

postToServer(url, null);

alert(2);



同步和异步的差异如下:

obj.open('POST',Url,true);         // ajax异步

obj.open('POST',Url,false);        // ajax同步



对于代码一,为异步的ajax请求,执行结果为:先执行alert(2)再执行alert(1), 异步的意思就是说一旦obj.open请求一发出,前端不去等待它的响应便执行后面的代码,所以alert(2)先执行了,然后当响应response到达以后才执行alert(1);

对于代码二,为同步的ajax请求,执行结果为:先执行alert(1)再执行alert(2), 同步的意思就是说一旦obj.open请求一发出,前端就去等待它的响应,响应完成以后,alert(1)先执行了,然后alert(2);
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表