zoukankan      html  css  js  c++  java
  • jQuery 选择器 (基础恶补之三)+Ajax

    jQuery load() 方法

    jQuery load() 方法是简单但强大的 AJAX 方法。

    load() 方法从服务器加载数据,并把返回的数据放入被选元素中。

    语法:

    $(selector).load(URL,data,callback);

    必需的 URL 参数规定您希望加载的 URL。

    可选的 data 参数规定与请求一同发送的查询字符串键/值对集合。

    可选的 callback 参数是 load() 方法完成后所执行的函数名称。

    这是示例文件("demo_test.txt")的内容:

    <h2>jQuery and AJAX is FUN!!!</h2>
    <p id="p1">This is some text in a paragraph.</p>
    

    下面的例子会把文件 "demo_test.txt" 的内容加载到指定的 <div> 元素中:

    示例

    $("#div1").load("demo_test.txt");

    也可以把 jQuery 选择器添加到 URL 参数。

    下面的例子把 "demo_test.txt" 文件中 id="p1" 的元素的内容,加载到指定的 <div> 元素中:

    实例

    $("#div1").load("demo_test.txt #p1");

    可选的 callback 参数规定当 load() 方法完成后所要允许的回调函数。回调函数可以设置不同的参数:

    • responseTxt - 包含调用成功时的结果内容
    • statusTXT - 包含调用的状态
    • xhr - 包含 XMLHttpRequest 对象

    下面的例子会在 load() 方法完成后显示一个提示框。如果 load() 方法已成功,则显示“外部内容加载成功!”,而如果失败,则显示错误消息:

    实例

    $("button").click(function(){
      $("#div1").load("demo_test.txt",function(responseTxt,statusTxt,xhr){
        if(statusTxt=="success")
          alert("外部内容加载成功!");
        if(statusTxt=="error")
          alert("Error: "+xhr.status+": "+xhr.statusText);
      });
    });

    HTTP 请求:GET vs. POST

    两种在客户端和服务器端进行请求-响应的常用方法是:GET 和 POST。

    • GET - 从指定的资源请求数据
    • POST - 向指定的资源提交要处理的数据

    GET 基本上用于从服务器获得(取回)数据。注释:GET 方法可能返回缓存数据。

    POST 也可用于从服务器获取数据。不过,POST 方法不会缓存数据,并且常用于连同请求一起发送数据。

    如需学习更多有关 GET 和 POST 以及两方法差异的知识,请阅读我们的 HTTP 方法 - GET 对比 POST

    jQuery $.get() 方法

    $.get() 方法通过 HTTP GET 请求从服务器上请求数据。

    语法:

    $.get(URL,callback);

    必需的 URL 参数规定您希望请求的 URL。

    可选的 callback 参数是请求成功后所执行的函数名。

    下面的例子使用 $.get() 方法从服务器上的一个文件中取回数据:

    实例

    $("button").click(function(){
      $.get("demo_test.asp",function(data,status){
        alert("Data: " + data + "
    Status: " + status);
      });
    });

    $.get() 的第一个参数是我们希望请求的 URL("demo_test.asp")。

    第二个参数是回调函数。第一个回调参数存有被请求页面的内容,第二个回调参数存有请求的状态。

    提示:这个 ASP 文件 ("demo_test.asp") 类似这样:

    <%
    response.write("This is some text from an external ASP file.")
    %>
    

    jQuery $.post() 方法

    $.post() 方法通过 HTTP POST 请求从服务器上请求数据。

    语法:

    $.post(URL,data,callback);

    必需的 URL 参数规定您希望请求的 URL。

    可选的 data 参数规定连同请求发送的数据。

    可选的 callback 参数是请求成功后所执行的函数名。

    下面的例子使用 $.post() 连同请求一起发送数据:

    实例

    $("button").click(function(){
      $.post("demo_test_post.asp",
      {
        name:"Donald Duck",
        city:"Duckburg"
      },
      function(data,status){
        alert("Data: " + data + "
    Status: " + status);
      });
    });
    

    亲自试一试

    $.post() 的第一个参数是我们希望请求的 URL ("demo_test_post.asp")。

    然后我们连同请求(name 和 city)一起发送数据。

    "demo_test_post.asp" 中的 ASP 脚本读取这些参数,对它们进行处理,然后返回结果。

    第三个参数是回调函数。第一个回调参数存有被请求页面的内容,而第二个参数存有请求的状态。

    提示:这个 ASP 文件 ("demo_test_post.asp") 类似这样:

    <%
    dim fname,city
    fname=Request.Form("name")
    city=Request.Form("city")
    Response.Write("Dear " & fname & ". ")
    Response.Write("Hope you live well in " & city & ".")
    %>

    Ajax参考手册

    jQuery noConflict() 方法

    noConflict() 方法会释放会 $ 标识符的控制,这样其他脚本就可以使用它了。

    实例

    当然,您仍然可以通过全名替代简写的方式来使用 jQuery:

    $.noConflict();
    jQuery(document).ready(function(){
      jQuery("button").click(function(){
        jQuery("p").text("jQuery 仍在运行!");
      });
    });

    实例

    您也可以创建自己的简写。noConflict() 可返回对 jQuery 的引用,您可以把它存入变量,以供稍后使用。请看这个例子:

    var jq = $.noConflict();
    jq(document).ready(function(){
      jq("button").click(function(){
        jq("p").text("jQuery 仍在运行!");
      });
    });
    

    亲自试一试

    实例

    如果你的 jQuery 代码块使用 $ 简写,并且您不愿意改变这个快捷方式,那么您可以把 $ 符号作为变量传递给 ready 方法。这样就可以在函数内使用 $ 符号了 - 而在函数外,依旧不得不使用 "jQuery":

    $.noConflict();
    jQuery(document).ready(function($){
      $("button").click(function(){
        $("p").text("jQuery 仍在运行!");
      });
    });

    jQuery 语法实例

    $(this).hide()
    演示 jQuery 的 hide() 函数,隐藏当前的 HTML 元素。
    $("p").hide()
    演示 jQuery 的 hide() 函数,隐藏所有 <p> 元素。
    $(".test").hide()
    演示 jQuery 的 hide() 函数,隐藏所有 class="test" 的元素。
    $("#test").hide()
    演示 jQuery 的 hide() 函数,隐藏 id="test" 的元素。
  • 相关阅读:
    JSON 操作
    生成下面的模块时,启用了优化或没有调试信息
    Emacs
    Integration rules
    Testing tools
    软件架构(读书笔记1)
    依赖于自己做计算
    POJO
    软件架构(读书笔记2)
    设计得不好
  • 原文地址:https://www.cnblogs.com/GmrBrian/p/6180288.html
Copyright © 2011-2022 走看看