zoukankan      html  css  js  c++  java
  • Jquery Ajax 和json用法

    向您的页面添加 jQuery 库

    jQuery 库位于一个 JavaScript 文件中,其中包含了所有的 jQuery 函数。

    可以通过下面的标记把 jQuery 添加到网页中:

    <head>
    <script type="text/javascript" src="jquery.js"></script>
    </head>
    请注意,<script> 标签应该位于页面的 <head> 部分。
    Jquery需要下载,如果不想下载的话,可以将src部分改成网络链接
    <head>
    <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery
    /jquery-1.4.min.js"></script>
    </head>

    jQuery 语法

    jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作。

    jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作。

    基础语法是:$(selector).action()

    • 美元符号定义 jQuery
    • 选择符(selector)“查询”和“查找” HTML 元素
    • jQuery 的 action() 执行对元素的操作

    示例

    $(this).hide() - 隐藏当前元素

    $("p").hide() - 隐藏所有段落

    $(".test").hide() - 隐藏所有 class="test" 的所有元素

    $("#test").hide() - 隐藏所有 id="test" 的元素

    提示:jQuery 使用的语法是 XPath 与 CSS 选择器语法的组合。在本教程接下来的章节,您将学习到更多有关选择器的语法。

    文档就绪函数

    您也许已经注意到在我们的实例中的所有 jQuery 函数位于一个 document ready 函数中:

    一个小例子

    <html>
    <head>
    <script type="text/javascript" src="/jquery/jquery.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
      $("button").click(function(){
        $("p").css("background-color","red");
      });
    });
    </script>
    </head>
    
    <body>
    <h2>This is a heading</h2>
    <p>This is a paragraph.</p>
    <p>This is another paragraph.</p>
    <button type="button">Click me</button>
    </body>
    
    </html>
    jQuery 是为事件处理特别设计的。
    jQuery可以通知servlet
     

    jQuery AJAX 实例

    <!DOCTYPE html>
    <html>
    <head>
    <script src="/jquery/jquery-1.11.1.min.js">
    </script>
    <script>
    $(document).ready(function(){
      $("#btn1").click(function(){
        $('#test').load('/example/jquery/demo_test.txt');
      })
    })
    </script>
    </head>
    
    <body>
    
    <h3 id="test">请点击下面的按钮,通过 jQuery AJAX 改变这段文本。</h3>
    <button id="btn1" type="button">获得外部的内容</button>
    
    </body>
    </html>

    jQuery $.get() 方法

    <!DOCTYPE html>
    <html>
    <head>
    <script src="/jquery/jquery-1.11.1.min.js"></script>
    <script>
    $(document).ready(function(){
      $("button").click(function(){
        $.get("/example/jquery/demo_test.asp",function(data,status){
          alert("数据:" + data + "
    状态:" + status);
        });
      });
    });
    </script>
    </head>
    <body>
    
    <button>向页面发送 HTTP GET 请求,然后获得返回的结果</button>
    
    </body>
    </html>
    <!DOCTYPE html>
    <html>
    <head>
    <script src="/jquery/jquery-1.11.1.min.js">
    </script>
    <script>
    $(document).ready(function(){
      $("button").click(function(){
        $.post("/example/jquery/demo_test_post.asp",
        {
          name:"Donald Duck",
          city:"Duckburg"
        },
        function(data,status){
          alert("数据:" + data + "
    状态:" + status);
        });
      });
    });
    </script>
    </head>
    <body>
    
    <button>向页面发送 HTTP POST 请求,并获得返回的结果</button>
    
    </body>
    </html>

    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);
      });
    });

    传递和接收的数据都是json格式,的所以,还有必要在学下json

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

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

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

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

    添加新的 HTML 内容

    我们将学习用于添加新内容的四个 jQuery 方法:

    append() - 在被选元素的结尾插入内容

    步骤大约是:

    1. 写一个监听函数,等待被触发

    2. 监听函数如果有参数的话,可以根据参数做相应的操作

    3. 定位到要添加组件上(一般是parent级别,比如对于li,可能是ul)

    4. $(要添加组件).append(要添加的东西)

    demo

    <!DOCTYPE html>
    <html>
    <head>
    <script src="/jquery/jquery-1.11.1.min.js">
    </script>
    <script>
    $(document).ready(function(){
      $("#btn1").click(function(){
        $("p").append(" <b>Appended text</b>.");
      });
    
      $("#btn2").click(function(){
        $("ol").append("<li>Appended item</li>");
      });
    });
    </script>
    </head>
    
    <body>
    <p>This is a paragraph.</p>
    <p>This is another paragraph.</p>
    <ol>
    <li>List item 1</li>
    <li>List item 2</li>
    <li>List item 3</li>
    </ol>
    <button id="btn1">追加文本</button>
    <button id="btn2">追加列表项</button>
    </body>
    </html>

    JSON 教程

    JSON:JavaScript 对象表示法(JavaScript Object Notation)。

    JSON 是存储和交换文本信息的语法。类似 XML。

    JSON 比 XML 更小、更快,更易解析。

    Json一个实例
    {
    "employees": [
    { "firstName":"Bill" , "lastName":"Gates" },
    { "firstName":"George" , "lastName":"Bush" },
    { "firstName":"Thomas" , "lastName":"Carter" }
    ]
    }

    这个 employee 对象是包含 3 个员工记录(对象)的数组。

    JSON - 转换为 JavaScript 对象

    JSON 文本格式在语法上与创建 JavaScript 对象的代码相同。

    由于这种相似性,无需解析器,JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 JavaScript 对象。

    JSON 使用 JavaScript 语法

    因为 JSON 使用 JavaScript 语法,所以无需额外的软件就能处理 JavaScript 中的 JSON。

    通过 JavaScript,您可以创建一个对象数组,并像这样进行赋值:

    employees[1].firstName="Jobs";

    通过parse函数来处理数据

    <html>
    <body>
    <h2>通过 JSON 字符串来创建对象</h3>
    <p>
    First Name: <span id="fname"></span><br /> 
    Last Name: <span id="lname"></span><br /> 
    </p> 
    <script type="text/javascript">
    var txt = '{"employees":[' +
    '{"firstName":"Bill","lastName":"Gates" },' +
    '{"firstName":"George","lastName":"Bush" },' +
    '{"firstName":"Thomas","lastName":"Carter" }]}';
    
    obj = JSON.parse(txt);
    //var obj = eval ("(" + txt + ")");//更好的方案

    document.getElementById(
    "fname").innerHTML=obj.employees[1].firstName document.getElementById("lname").innerHTML=obj.employees[1].lastName </script> </body> </html>

    我更需要的是获取数组长度的函数

    var data = [{"id":"1","name":"a"},{"id":"2","name":"b"}];   
    alert(eval(data).length);  
  • 相关阅读:
    从标准输入读取一行字符串的方法
    输入文件包含若干行,不知何时结束时,如何读入数据
    centos7.5 + docker + mysql5.7 多实例安装
    copula函数及其Var计算的Python实现
    让网络机器人看起来像人类用户
    流畅的python读书笔记
    神经网络层数和神经元数目 的一些建议
    SVM算法Python实现
    预测性维护{维修}又称:预知性、预见性维护{维修})
    WebDriver API 元素定位(Python)
  • 原文地址:https://www.cnblogs.com/xinsheng/p/3908631.html
Copyright © 2011-2022 走看看