JQ实现AJAX

来源:互联网 发布:plc模拟编程手机版 编辑:程序博客网 时间:2024/06/06 01:04

什么是 AJAX?

AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML)。

简短地说,在不重载整个网页的情况下,AJAX 通过后台加载数据,并在网页上进行显示。


jQuery Ajax 操作函数

jQuery 库拥有完整的 Ajax 兼容套件。其中的函数和方法允许我们在不刷新浏览器的情况下从服务器加载数据。

函数描述jQuery.ajax()执行异步 HTTP (Ajax) 请求。.ajaxComplete()当 Ajax 请求完成时注册要调用的处理程序。这是一个 Ajax 事件。.ajaxError()当 Ajax 请求完成且出现错误时注册要调用的处理程序。这是一个 Ajax 事件。.ajaxSend()在 Ajax 请求发送之前显示一条消息。jQuery.ajaxSetup()设置将来的 Ajax 请求的默认值。.ajaxStart()当首个 Ajax 请求完成开始时注册要调用的处理程序。这是一个 Ajax 事件。.ajaxStop()当所有 Ajax 请求完成时注册要调用的处理程序。这是一个 Ajax 事件。.ajaxSuccess()当 Ajax 请求成功完成时显示一条消息。jQuery.get()使用 HTTP GET 请求从服务器加载数据。jQuery.getJSON()使用 HTTP GET 请求从服务器加载 JSON 编码数据。jQuery.getScript()使用 HTTP GET 请求从服务器加载 JavaScript 文件,然后执行该文件。.load()从服务器加载数据,然后把返回到 HTML 放入匹配元素。jQuery.param()创建数组或对象的序列化表示,适合在 URL 查询字符串或 Ajax 请求中使用。jQuery.post()使用 HTTP POST 请求从服务器加载数据。.serialize()将表单内容序列化为字符串。.serializeArray()序列化表单元素,返回 JSON 数据结构数据。

jQuery 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>
注意这里的id。

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

实例

$("#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 $.get() 方法

语法:

$.get(URL,callback);

<!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 + "\n状态:" + status);    });  });});</script></head><body><button>向页面发送 HTTP GET 请求,然后获得返回的结果</button></body></html>

$.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);

<!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 + "\n状态:" + status);    });  });});</script></head><body><button>向页面发送 HTTP POST 请求,并获得返回的结果</button></body></html>

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

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

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

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

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

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