Ajax简介,【深入浅出】

xhr.open(obj.method,obj.url,obj.async);

if(obj.method === 'post'){

    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');        //模仿表单提交

    xhr.send(obj.data);

}else{

    xhr.send(null);

}

if(obj.async === false){

    callback();

}

    

function callback(){

    if(xhr.status == 200){

        obj.success(xhr.responseText);                                        //函数回调

    }else{

        alert('获取数据失败!错误代号:'+xhr.status+',错误信息:'+xhr.statusText);

    }

}

}

//调用ajax

$(document).click(function(){

ajax({

method : 'post',

url : 'demo.php',

data : {

    'name' : 'Lee',

    'age' : 100

},

success : function (text) {

    alert(text);

},

async : true

});

});




#### [](

)四、同步和异步



Ajax 中根据 async 的值不同分为同步(async = false)和异步(async = true)



$.ajax({

type: "post", 

url: "path", 

cache:false, 

async:false, 

dataType: ($.browser.msie) ? "text" : "xml", 



success: function(xmlobj){ 

    function1(){};

} 

});

function2(){};




*   默认情况下 async 是 true;



**(1)概念:**



*   同步请求:(false)  

    同步请求即是当前发出请求后,浏览器什么都不能做,必须得等到请求完成返回数据之后,才会执行后续的代码,相当于是排队,前一个人办理完自己的事务,下一个人才能接着办。

    

*   异步请求:(true)  

    异步请求就当发出请求的同时,浏览器可以继续做任何事,Ajax发送请求并不会影响页面的加载与用户的操作,相当于是在两条线上,各走各的,互不影响。  

    一般默认值为true,异步。异步请求可以完全不影响用户的体验效果,无论请求的时间长或者短,用户都在专心的操作页面的其他内容,并不会有等待的感觉。

    



**(2)区别:**



*   同步是所有的操作都做完,才返回给用户结果。即写完数据库之后,再响应用户,用户体验不好。

*   异步不用等所有操作都做完,就相应用户请求。即先响应用户请求,然后慢慢去写数据库,用户体验较好。



#### [](

)五、Ajax 相关面试题



*   什么是Ajax ? 如何创建一个 Ajax 以及请求状态,从0-4的变化

*   同步和异步的区别?

*   简述 Ajax 的过程

*   页面编码和被请求的资源编码如果不一致如何处理?

*   阐述一下异步加载

*   GET和POST的区别,何时使用POST?

*   Ajax 属于 javascript?

*   Ajax-GET-IE兼容问题

*   Ajax-GET 封装

*   POST 请求

*   Ajax-POST 基本使用

*   jQuery 中的 Ajax

*   Ajax-XML

*   Ajax-json

*   工作当中会和后台交互吗? 那你能说说封装好的 ajax里的几个参数吗 ?

*   为什么要用ajax

*   ajax最大的特点是什么?

*   Ajax主要包含了哪些技术?

*   ajax应用和传统Web应用有什么不同

*   Ajax 请求总共有多少种CALLBACK

*   介绍一下Prototype的 ( ) 函 数 , ()函数, ()函数,F()函数,$A()函数都是什么作用

*   Ajax 都有哪些优点和缺点?

*   常用的 Ajax 框架有哪些?

*   Ajax 的核心对象是什么?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值