zoukankan      html  css  js  c++  java
  • AJAX

     


    定义

           Asynchronous Javascript And XML  异步JavaScript和XML
          一种创建交互式网页应用的网页开发技术
          一种在无需重新加载整个网页的情况下,能够更新部分网页的技术
          注意

    AJAX不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术,AJAX本身也是基于JS代码实现功能的


    用途   

          使网页实现异步更新,可以使网页在不重新加载整个网页的情况下,对网页的某部分进行更新。

          局部刷新)


    使用
        原理 

             1 使用Javascript向服务器提出请求并处理响应

           2 Ajax 的核心是 JavaScript 对象 XMLHttpRequest,XMLHttpRequest使我们可以使用 JavaScript

            向服务器提出请求并处理响应,而不阻塞用户
           3 程图示

                  



        操作流程
          GET方式操作流程
             1 获取对象/创建请求对象 ------> var ajax = new XMLHttpRequest();
             2

               2.1 请求初始化

                2.1.1 让对象知道要以什么方式打开(加载)谁
                2.1.2 ajax.open('get','./1.php',true);

                   open(请求的方式,请求的文件,异步true/同步false)


               2.2 配置参数
                2.2.1ajax.open('get','./1.php?name=jack&age=18',true);


              3 正式发送请求 ----> ajax.send();  -----> 括号里可以写字符串,但仅限于使用POST方式时


              判断请求是否已响应,设置回调函数
               4.1判断请求是否已响应,并且告诉ajax请求成功后接下去该干啥


                 4.2 ajax.onreadystatechange=function(){
                    if(ajax.status==200 && ajax.readyState == 4){
                       alert(ajax.responseText);
                   }
                 }
                                       

                  4.2.1 onreadystatechange
                 4.2.1.1 存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数
                 4.2.1.2  readyState
                   存有 XMLHttpRequest 的状态。从 0 到 4 发生变化    
                    onreadystatechange 事件被触发 4 次,对应着 readyState 的每个变化
                            0: 请求未初始化
                    1: 服务器连接已建立
                    2: 请求已接收
                    3: 请求处理中
                    4: 请求已完成,且响应已就绪
                        

               4.3 status
                  200---->"OK"
                    404----->未找到页面


          POST方式操作流程
            1 获取对象/创建请求对象  var ajax = new XMLHttpRequest();
            2 请求初始化  

              2.1 让对象知道要以什么方式打开(加载)谁
                2.2 ajax.open('post','./1.php',true); 

                   ------->   open(请求的方式,请求的文件,异步true/同步false)
            3
               3.1 设置请求头部信息

                ajax.setRequestHeader("Content-type","application/x-www-form-urlencoded");
               3.2 正式发送请求

                ajax.send('name=jack&age=18');  括号里可以写字符串作为POST请求的参数
              4 判断请求是否已响应,设置回调函数
              4.1 判断请求是否已响应,并且告诉ajax请求成功后接下去该干啥
              4.2 ajax.onreadystatechange=function(){
                   if(ajax.status==200 && ajax.readyState == 4){
                    alert(ajax.responseText);
                   }
                  }


      处理数组


        前端辅助函数  eval()

                 将字符串变成可以执行的代码


        后端辅助函数  php   json_encode($arr)

                  将数组转化为字符串格式,该字符串形式为json格式  {name: "jack", age: 18}


        注意
            ajax只有在服务器环境中才会看到效果
            ajax请求内传递的内容都是字符串格式的
            使用POST方式时,必须要设置添加POST的请求头
            get方式配置参数时,参数写在open()的URL内
            post方式配置参数时,参数写在send()的()内

    如若发现错误,请务必联系: yanghuihui1996@gmail.com。吾必改之。
  • 相关阅读:
    jquery的动画函数animate()讲解一
    用js来实现页面的换肤功能(带cookie记忆)
    Extjs换肤+cookie皮肤记忆功能
    jquery换肤
    bootstrap的alert提示框的关闭后再显示问题
    jquery.cookie中的操作
    CSS中设置margin:0 auto; 水平居中无效的原因分析
    jQuery 遍历 json 方法大全
    jquery.min.map 404 (Not Found)出错的原因及解决办法
    AJAX 跨域请求的解决办法:使用 JSONP获取JSON数据
  • 原文地址:https://www.cnblogs.com/yanghuihui/p/6979420.html
Copyright © 2011-2022 走看看