AJax技术

Django( Ajax )

字号+ 作者:H5之家 来源:H5之家 2017-10-11 15:06 我要评论( )

AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的

标签:请求   .ajax   hello   request对象   传输   操作   open   cat   put   

  

AJAXAsynchronous Javascript And XML)翻译成中文就是异步JavascriptXML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML)。

  • 同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求;
  • 异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求。
  • AJAX除了异步的特点外,还有一个就是:浏览器页面局部刷新;(这一特点给用户的感受是在不知不觉中完成请求和响应过程)

    js实现的局部刷新:

     

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .error{ color:red } </style> </head> <body> <form> <p>姓名&nbsp;&nbsp;<input type="text" mark="用户名"></p> <p>密码&nbsp;&nbsp;<input type="text" mark="邮箱"></p> <p><input type="submit" value="submit"></p> </form> <script src="jquery-3.1.1.js"></script> <script> $(".Form :submit").click(function(){ flag=true; $("Form .v1").each(function(){ var value=$(this).val(); if (value.trim().length==0){ var mark=$(this).attr("mark"); var $span=$("<span>"); $span.html(mark+"不能为空!"); $span.prop("class","error"); $(this).after($span); setTimeout(function(){ $span.remove(); },800); flag=false; return flag; } }); return flag }); </script> </body> </html>

    AJAX常见应用情景

     

    当我们在百度中输入一个“老字后,会马上出现一个下拉列表!列表中显示的是包含字的4个关键字。

    其实这里就使用了AJAX技术!当文件框发生了输入变化时,浏览器会使用AJAX技术向服务器发送一个请求,查询包含字的前10个关键字,然后服务器会把查询到的结果响应给浏览器,最后浏览器把这4个关键字显示在下拉列表中。

  • 整个过程中页面没有刷新,只是刷新页面中的局部位置而已!
  • 当请求发出后,浏览器还可以进行其他操作,无需等待服务器的响应!
  •  

    AJAX的优缺点

     

    优点: 缺点: JS实现的ajax

     

    其实AJAX就是在Javascript中多添加了一个对象:XMLHttpRequest对象。所有的异步交互都是使用XMLHttpServlet对象完成的。也就是说,我们只需要学习一个Javascript的新对象即可。

     

    var xmlHttp = new XMLHttpRequest();(大多数浏览器都支持DOM2规范)

     

    注意,各个浏览器对XMLHttpRequest的支持也是不同的!为了处理浏览器兼容问题,给出下面方法来创建XMLHttpRequest对象:

     

    function createXMLHttpRequest() { var xmlHttp; // 适用于大多数浏览器,以及IE7和IE更高版本 try{ xmlHttp = new XMLHttpRequest(); } catch (e) { // 适用于IE6 try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { // 适用于IE5.5,以及IE更早版本 try{ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e){} } } return xmlHttp; }

    使用流程

     

    步骤1:  打开与服务器的连接(open方法)

     

    当得到XMLHttpRequest对象后,就可以调用该对象的open()方法打开与服务器的连接了。open()方法的参数如下:

    open(method, url, async)

    var xmlHttp = createXMLHttpRequest();

    xmlHttp.open("GET", "/ajax_get/", true);

     

    步骤2:  发送请求

     

    当使用open打开连接后,就可以调用XMLHttpRequest对象的send()方法发送请求了。send()方法的参数为POST请求参数,即对应HTTP协议的请求体内容,若是GET请求,需要在URL后连接参数。

    注意:若没有参数,需要给出null为参数!若不给出null为参数,可能会导致FireFox浏览器不能正常发送请求!

     

    xmlHttp.send(null);

     

    步骤3:  接收服务器响应

     

    当请求发送出去后,服务器端就开始执行了,但服务器端的响应还没有接收到。接下来我们来接收服务器的响应。

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • store和reader使用技巧

      store和reader使用技巧

      2017-10-10 16:03

    • JAVA EE 项目常用知识 之AJAX技术实现select下拉列表联动的两种

      JAVA EE 项目常用知识 之AJAX技术实现select下拉列表联动的两种

      2017-09-11 11:42

    • 前端小白之每天学习记录

      前端小白之每天学习记录

      2017-08-14 17:01

    • [ajax 学习笔记] ajax初试

      [ajax 学习笔记] ajax初试

      2017-07-15 08:03

    网友点评