zoukankan      html  css  js  c++  java
  • AJAX技术

    AJAX技术

      前言:AJAX并不是一门新的编程语言,而是一种新的方法;AJAX 能够在不重新加载整个页面的情况下。与服务器交换数据并更新部分网页,通过 AJAX,因特网应用程序可以变得更完善,更友好。

      说到AJAX,不得不介绍一下HTTP协议的相关内容:

        (一)HTTP协议:是由请求和响应组成的。

          请求:请求行,请求头,请求主体,其中请求行又包括 请求方式,请求URL,和协议版本

          响应:状态行,响应头,响应主体

        (二)AJAX:

          XMLHttpRequert:浏览器内建对象,用于在后台与服务器通信(交换数据),因此我们可实现对网页的部分更新,而不是刷新整个页面

        (三)一个简单的AJAX案例:

        var xhr = new XMlHttpRequert;
    
        //设置请求行
        xhr.open('post','文件名');
        
        //设置请求头
        xhr.setRequertHeader('Content-Type','application/x-www/form-urlencoded');
    
        //设置请求主体
        xhr.send('username=aa&pass=aa');
    
        //接收服务器响应
        xhr.onreadystatechange = function(){
            if(xhr.readyState == 4&&xhr.status == 200){
    
                console.log('响应结束');
    
                //响应主体
                console.log(xhr.responseText);
                
                //通过dom操作将返回结果输出到页面上
                document.querySelector('#result').innerHTML = xhr.responseText;
            }
        }

        (四)API详解:

    1,xhr.onreadystatechange=function(){
            //xhr.readyState=0,UNSENT open尚未调用
            //xhr.readyState=1,OPENED open已调用
            //xhr.readyState=2,HEADERS_RECEIVED接收到头信息
            //xhr.readyState=3,LOADING接收到响应主体
            //xhr.readyState=4,DONE响应完成
        }监听响应状态

    2,xhr.status表示响应码,如200

    3,xhr.open()发起请求,可以是get、post

    4,xhr.setRequestHeader()设置请求头

    5,xhr.send()发送请求主体get方式使用xhr.send(null)

    6,xhr.statusText表示响应信息,如OK

    7,xhr.getAllResponseHeaders()获取全部响应头信息

    8,xhr.getResponsrHeader('key')获取指定头信息

    9.xhr.responseText、xhr.responseXML都表示响应主体   

        (五)面试题:

    AJAX中get和post请求方式的差异:

    1,get没有请求主体,使用xhr.send(null)

    2,get可以通过在请求URL上添加请求参数

    3,post可以通过xhr.send('name=aa&age=10')

    4,post需要设置:xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

    5,get效率更好

    6,get大小限制约4k,post没有限制

     

         

     

     

     

     

     

  • 相关阅读:
    报表选型应该知道的
    报表工具——开源还是商用
    地图报表怎么做?
    关于报表在移动端展现需你需要知道哪些?
    报表怎样实现滚动的公告效果?
    加速JDBC的快捷方法
    百万级分组大报表开发与呈现
    秒级展现的百万级大清单报表怎么做
    润乾集算器技术文档汇总
    报表使用相关知识及技巧汇总
  • 原文地址:https://www.cnblogs.com/wccc/p/6837722.html
Copyright © 2011-2022 走看看