ajax和原生js比较与理解

ajax

目的:1.提高用户体验

          2.减轻服务器端压力

      ajax是异步提交,通过与form

表单的对比就可以看出


  AJAX的使用

 1-----原始版ajax

 1、建立 XMLHttpRequest 异步通讯对象。

           <script>

                 var xhr=null;            

                 //非IE浏览器

                   if(window.XMLHttpRequest){

                            xhr=new XMLHttpRequest();

                               }else{

                                  //IE浏览器 

                               xhr=new ActiveXObject("Microsoft.XMLHTTP");

                  }

           </script>

  2、//打开异步访问

          

 xhr.open(“post/get”,“服务器访问路径”,允许异步操作标记 true/false);

  3、//发送异步请求

      xhr.send();

  4、//获取异步信息

      //监听异步通讯状态的变化

                 xhr.onreadystatechange=function(){

          //检测异步状态标记 

           if(xhr.readyState==4&&xhr.status==200){

             dom对象.value=xhr.responseText;

                  }else{     

               dom对象.value="ajax error";

                             }

                 }

注意事项:通过服务器端返回的状态来执行函数的不同语句(这个是实现服务器端处理数据),而且最后一定要设置值

                  第4步特别重要,要得到数据库服务传递过来的值,然后再进行处理

                  客户端设置值是在打开异步访问时传递过去的数据

实际开发中,经常用json来传递对象

     2.开发版ajax

        jquery开发ajax方法


      一般情况经常用的是

             ajax.get()和ajax.post方法,这种情况下实现的不同数据的分离,清晰,简洁

              地址,数据,回调函数为这两个方法的三大参数

                      不同数据用,分离,属性和属性的值用:分离,传递的多个属性用{}封装

               1.jquery的ajax方法() 
                   url:一个用来包含发送请求的URL字符串。
                   settings:AJAX 请求设置
                   通过setting的各种方法来设置请求设置

             2.jquery的get方法


                什么是json:
                json就是一串javascript代码,是javascript的一种数据格式
               第三方架包如gson,fastjson就可以把数据对象解析为json对象


              可以把对象转换成json格式来传送数据到前台,json其实就是将其它数据解析为javascript代码

              在 JavaScript 中使用它就很简单了。JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON  数据不需要任何特殊的 API 或工具包。

                   json对象的格式为 {字符串属性:属性值,字符串属性:属性值 }
                   也可以传递多个属性值,也用大括号括起来,统一为json格式
                    json格式
                    json关键点就是如何把字符串或者是对象解析成散列值,解析成散列值才可以取出值

                   注意:属性也为字符串,括号也为字符串,属性值如果是字符串属性也用字符串括起来
                   jstl也可以通过map来获得对象,这个是在jsp页面获得,是服务器端技术,而ajax可以直接在服务器端把数据封装成object对象来传递到前台

                   json格式优势:可以一次性传递多种类型的值,而且可以一次性传递大量的数据

                   eval()可以把字符串解析为命令

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章