1.什么是ajax

    ajax = 异步javascript+xml
    ajax是一种用于创建快速动态网页的技术,通过在后台与服务器进行少量的数据交换,axjax可以使网页实现异步更新。通俗的说就是不用再刷新整张网页的情况下,对网页的某部分进行异步更新。
    传统的网页如果需要更新内容,必须刷新整张网页。

    2.ajax的工作原理

    ajax.gif
    ajax的原理简单来说就是通过XMLHttpRequest对象来向服务器发送异步请求,从服务器获得数据。然后用javascript来操作DOM而更新页面。XMLHttpRequest是ajax的核心机制。它是在IE5中首先引入的。是一种支持异步请求的技术。

    3.XMLHttpRequest包含的属性
    open:规定请求类型,url以及是否异步处理请求
    method:请求的类型:GET或POST
    url:文件在服务器的位置
    async:true(异步) false(同步)
    send:将请求发送到服务器
    string:仅用于POST请求,可以在这里传递参数
    responseText:获得字符串形式的响应数据
    responseXML:获得XML形式的响应数据
    onreadystatchange:存储函数(或函数名)每当 readyState 属性改变时,就会调用该函数
    readyState:存储XMLHttpRequest的状态,从0到4发生变化:

    • 0:请求初始化
    • 1:服务器连接已建立
    • 2:请求已接收
    • 3:请求处理中
    • 4:请求已完成,且相应已就绪

    status::状态 200成功 404未找到页面
    setRequestHeader:向请求添加http头

    • header:规定头的名称
    • value:规定头的值

    4.创建XMLHttpRequest

    1. //获取XMLHttprequest实例对象
    2. var http
    3. if(window.XMLHttpRequest){
    4. http = new XMLHttpRequest(); // IE7+, Firefox, Chrome, Opera, Safari
    5. }else{
    6. http = new ActiveXObject("Microsoft.XMLHTTP"); // IE6, IE5
    7. }
    8. http.open('GET','/a.php',true);//建立请求信息 GET请求 异步发送
    9. http.onreadystatchange(function(){
    10. if(http.readyState == 4 && http.status == 200){
    11. //请求成功接收数据
    12. console.log(http.responseText);
    13. }else{
    14. //请求未成功 进行错误处理
    15. }
    16. })
    17. http.send();//发送请求
    1. //获取XMLHttprequest实例对象
    2. var http
    3. if(window.XMLHttpRequest){
    4. http = new XMLHttpRequest(); // IE7+, Firefox, Chrome, Opera, Safari
    5. }else{
    6. http = new ActiveXObject("Microsoft.XMLHTTP"); // IE6, IE5
    7. }
    8. http.open('POST','/a.php',true);//建立请求信息 POST请求 异步发送
    9. http.setRequestHeader("Content-type","application/x-www-form-urlencoded");//设置请求头信息
    10. http.onreadystatchange(function(){
    11. if(http.readyState == 4 && http.status == 200){
    12. //请求成功接收数据
    13. console.log(http.responseText);
    14. }else{
    15. //请求未成功 进行错误处理
    16. }
    17. })
    18. http.send("id=123&name=zhang");//发送请求