jQuery基础 (九) - Ajax篇 -

jQuery - AJAX
AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML)。
简短地说,在不重载整个网页的情况下,AJAX 通过后台加载数据,并在网页上进行显示。

关于 jQuery 与 AJAX
jQuery 提供多个与 AJAX 有关的方法。

通过 jQuery AJAX 方法,您能够使用 HTTP Get 和 HTTP Post 从远程服务器上请求文本、HTML、XML 或 JSON - 同时您能够把这些外部数据直接载入网页的被选元素中。

jQuery - AJAX load() 加载
jQuery load()
jQuery load() 方法是简单但强大的 AJAX 方法。从服务器加载数据,并把返回的数据放入被选元素中。

语法:$(selector).load(URL,data,callback);
必需的 URL 参数规定您希望加载的 URL。
可选的 data 参数规定与请求一同发送的查询字符串键/值对集合。
可选的 callback 参数是 load() 方法完成后所执行的函数名称。

实例:(把文件 "demo_test.txt" 的内容加载到指定的

元素中)

$("#div1").load("demo_test.txt");
实例:(把 "demo_test.txt" 文件中 id="p1" 的元素的内容,加载到指定的

元素中)

$("#div1").load("demo_test.txt #p1");
可选的 callback 参数规定当 load() 方法完成后所要允许的回调函数。回调函数可以设置不同的参数:

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

    $("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);
      });
    });

jQuery - AJAX get() 和 post() 方法
HTTP 请求:GET vs. POST
两种在客户端和服务器端进行请求-响应的常用方法是:GET 和 POST。

GET - 从指定的资源请求数据
POST - 向指定的资源提交要处理的数据
GET 基本上用于从服务器获得(取回)数据。注释:GET 方法可能返回缓存数据。
POST 也可用于从服务器获取数据。不过,POST 方法不会缓存数据,并且常用于连同请求一起发送数据。
jQuery $.get() 方法
通过 HTTP GET 请求从服务器上请求数据。

语法:$.get(URL,callback);
必需的 URL 参数规定您希望请求的 URL。
可选的 callback 参数是请求成功后所执行的函数名。

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

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

jQuery .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 + "\nStatus: " + status);
      });
    });

jQuery - noConflict() 方法
jQuery 和其他 JavaScript 框架
正如您已经了解到的,jQuery 使用 符号作为简写怎么办?
其他一些 JavaScript 框架包括:MooTools、Backbone、Sammy、Cappuccino、Knockout、JavaScript MVC、Google Web Toolkit、Google Closure、Ember、Batman 以及 Ext JS。
其中某些框架也使用 $ 符号作为简写(就像 jQuery),如果您在用的两种不同的框架正在使用相同的简写符号,有可能导致脚本停止运行。

jQuery 的团队考虑到了这个问题,并实现了 noConflict() 方法。

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 仍在运行!");
      });
    });

第1章 Ajax概述

同步,异步,运行原理

UI自学前端真的好难,Ajax是网站技术,最大的特点是不用刷新
数据格式,使用的是json、xml(啥是 json、xml 啊?)
判断json字符串使用的是[], 还是 {} 主要看下标,如过下标为默认数值下标则使用[],如果是数字0、4用{}。在js中{} 代表对象,[]代表数组

第2章 Ajax可以做什么?

1、剑灵新建一个角色,起昵称。提示名字重复了,就是Ajax
2、站内查询(百度一下,你就知道)
3、手机淘宝,一直向下刷新商品列表
4、高德地图

第3章 JS原生的Ajax技术

原生js完成完成Ajax异步操作的步骤
1.创建Ajax引擎对象
2.为Ajax引擎对象绑定监听(监听服务器已将数据相应给了引擎)
3.绑定提交地址
4.发送请求
5.接受响应数据

第4章 json数据格式

你可能感兴趣的:(jQuery基础 (九) - Ajax篇 -)