• jQuery学习笔记之jQuery的Ajax(3)


    jQuery学习笔记之jQuery的Ajax(3)
    6.jQuery的Ajax插件

    源码地址:

    https://github.com/iyun/jQueryDemo.git

    ————————————————————————————
    6.0 jQuery ajax
    浏览器给我们提供的XMLHttpRequest的作用是来发送http请求。
    js代码发送一个http的请求
    XMLHttpRequest的四步:创建对象、注册监听、建立连接、发送数据

    异步交互的6个方法(发送http请求)
    ajax();(最底层)
    get(),post(),load();(底层)
    getScript(),getJSON;(上层)

    $.get() (或$.post()) 方法
    1、`$.get()` 方法使用 GET 方式来进行异步请求. 它的结构是: `$.get(url[, data][, callback][, type]);`
    2、$.get() 方法的回调函数只有两个参数: data 代表返回的内容, 可以是 XML 文档, JSON 文件, HTML 片段等; textstatus 代表请求状态, 其值可能为: succuss, error, notmodify, timeout 4 种.
    3、方法的返回值:XMLHttpRequest对象
    4、$.get()  和 $.post() 方法是 jQuery 中的全局函数, 而 find() 等方法都是对 jQuery 对象进行操作的方法
    

    load()方法
    1、load()方法是 jQuery 中最为简单和常用的 Ajax 方法, 能载入远程的 HTML 代码并插入到 DOM 中。
    2、它的结构是: load(url[, data][,callback])
    3、程序员只需要使用 jQuery 选择器为 HTML 片段指定目标位置, 然后将要加载的文件的 url 做为参数传递给 load() 方法即可
    4、传递方式: load() 方法的传递参数根据参数 data 来自动自定. 如果没有参数传递, 采用 GET 方式传递, 否则采用 POST 方式
    5、对于必须在加载完才能继续的操作, load() 方法提供了回调函数, 该函数有三个参数: 代表请求返回内容的 data; 代表请求状态的 textStatus 对象(其值可能为: succuss, error, notmodify, timeout 4 种)和 XMLHttpRequest 对象
    6、方法的返回值是 jQuery
    7、如果只需要加载目标 HTML 页面内的某些元素, 则可以通过 load() 方法的 URL 参数来达到目的. 通过 URL 参数指定选择符, 就可以方便的从加载过来的 HTML 文档中选出所需要的内容. load() 方法的 URL 参数的语法结构为 “url selector”(注意: url 和 选择器之间有一个空格)

    $.getScript()方法
    1、有时候,在页面初次加载时就取得所需的全部的javascript文件是完全没有必要的。虽然我们可以在需要时,动态创建

     <body>
         <br/>
         <p>
             <input type="button" id="send" value="加载"/>
         </p>
    
        <div  class="comment">已有评论:</div>
         <div id="resText" >
    
         </div>
      </body>
      <script language="JavaScript">
       $(function(){
            $('#send').click(function() {
                 $.getScript('test.js',function(){
                    $('#resText').html(html);
                 });
            });
       })
      </script>

    $.getJSON()方法

     <body>
         <br/>
         <p>
             <input type="button" id="send" value="加载"/>
         </p>
    
        <div  class="comment">已有评论:</div>
         <div id="resText" >
    
         </div>
      </body>
      <script language="JavaScript">
       $(function(){
            $('#send').click(function() {
                 $.getJSON('test.json', function(data) {
                     $('#resText').empty();
                 var html = '';
                 $.each( data  , function(commentIndex, comment) {
                     html += '<div class="comment"><h6>' + comment['username'] + ':</h6><p class="para">' + comment['content'] + '</p></div>';
                      })
                     $('#resText').html(html);
                })
           })
       })
      </script>

    序列化元素
    1、在客户端与服务器端进行通信时,常常需要将客户端浏览器中的内容发送至服务器端进行处理。如果需要发送的内容较少时,处理比较方便。但在真实项目中,往往需要处理的数据内容很复杂。jQuery提供了相应的方法帮助开发者解决这个问题。
    2、serialize()方法
    该方法作用于一个jQuery对象,可以将DOM元素内容序列化为字符串。方便客户端发送请求。
    3、serializeArray()方法
    该方法作用于一个jQuery对象,可以将DOM元素内容序列化为JSON数据格式。
    注:此方法返回的是JSON对象而非JSON字符串。

    JQuery 加载并解析 XML
    1、JQuery 可以通过 $.get()$.post() 方法来加载 xml.

        $(function(){
            $.get("cities.xml",function(xml){
                alert(xml);
            });
        })
    2、JQuery 解析 XML 与解析 DOM 一样, 可以使用 find(), children() 等函数来解析和用 each() 方法来进行遍历
    
  • 相关阅读:
    ES6解构之复杂数据
    QQ音乐API-借他人之力实现我的音乐盒
    canvas 简易的加载进度条
    File System 之本地文件系统
    File System 定额(配额查询)
    window.btoa 和 window.atob
    Web App、Hybrid App与Native App
    函数节流和函数防抖
    javascript瀑布流
    protobuf的使用(netty传输多种对象类型)
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6467952.html
Copyright © 2020-2023  润新知