最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
jQuery中ajax基础教程
时间:2013-01-09 编辑:简简单单 来源:一聚教程网
load()方法
load( url [ , data ][ , callback]) 载入远程 HTML 文件代码并插入至 DOM 中。
参数名称 类型 说明
url string 请求HTML页面的URL地址
data object 发送至服务器的key/value数据
callback function 请求完成后的回调数据,无论请求成功或失败
这个方法默认使用 GET 方式来传递的,如果[data]参数有传递数据进去,就会自动转换为POST方式的。jQuery 1.2 中,可以指定选择符,来筛选载入的 HTML 文档,DOM 中将仅插入筛选出的 HTML 代码。语法形如 "url #some > selector"。
这个方法可以很方便的动态加载一些HTML文件,例如表单。
示例代码:
代码如下 | 复制代码 |
$(function(){ $("#reText").load("test.html"); }) ////////// 2 ///////// $(".ajax.load").load("2008/03/30/1130270.html .classname", function (responseText, textStatus, XMLHttpRequest){ this;//在这里this指向的是当前的DOM对象,即$(".ajax.load")[0] //筛选载入需要的内容。在url后面空格加选择器如:load("test.html #idname") //alert(responseText);//请求返回的内容 //alert(textStatus);//请求状态:success,error //alert(XMLHttpRequest);//XMLHttpRequest对象 }); |
注:不知道为什么URL写绝对路径在FF下会出错,知道的麻烦告诉下。下面的get()和post()示例使用的是绝对路径,所以在FF下你将会出错并不会看到返回结果。还有get()和post()示例都是跨域调用的,发现传上来后没办法获取结果,所以把运行按钮去掉了。
$.get( url [ , data] [ , callback ] [ , type] ) 使用GET方式来进行异步请求
参数名称 类型 说明
url string 发送请求的URL地址
data object 发送至服务器的key/value数据会作为QueryString附加到请求 URL中
callback function 载入成功(当response的返回状态为success)时回调函数自动 将请求结果和状态传递给该方法
type string 服务器返回的内容的格式,包括xml、html、script、json、text 和_default
代码如下 | 复制代码 |
$.get("./Ajax.php", {Action:"get",Name:"lulu"}, function (data, textStatus){ //返回的 data 可以是 xmlDoc, jsonObj, html, text, 等等 alert(data); //alert(textStatus);//请求状态:success,error等等。 }); |
Xml文件php文件
代码如下 | 复制代码 |
header("Content-Type:text/xml; charset=utf-8"); echo "". " " " "". ""; ?> |
Html文件(回调函数部分)
代码如下 | 复制代码 |
function (data, textStatus){ var username = $(data).find("comment").attr("username"); var content = $(data).find("comment content").text(); var txtHtml = " $("#resText").html(txtHtml); // 把返回的数据添加到页面上 });
|
Json文件格式
代码如下 | 复制代码 |
header("Content-Type:text/html; charset=utf-8"); echo "{ username : "{$_REQUEST['username']}" , content : "{$_REQUEST['content']}"}" ?> |
Html文件(回调函数部分)
代码如下 | 复制代码 |
function (data, textStatus){ var username = data.username; var content = data.content; var txtHtml = " "+username+":"+content+" $("#resText").html(txtHtml); // 把返回的数据添加到页面上 },"json");
|
$.post () 方法和 $.get() 方法用法相同,不过仍有有下列区别:
1 GET请求会将参数跟在url后进行传递,而POST请求则是作为HTTP消息的实体内容发送给你Web服务器。当然,在Ajax请求中,这种区别对用户是不可见的
2 GET方式对传输的数据有大小限制(通常不能大于2KB),而是用POST方式传递比GET方式大得多(理论上不受限制)
3 GET方式请求的数据会被浏览器缓存起来,因此其他人就可以从浏览器的历史记录中读取到这些数据,在某些情况下,GET方式会带来严重的安全性问题,而POST方式传递相对来说可以避免这些问题。
4 GET方式和POST方式传递的数据在服务器端的获取也不相同。在PHP中,GET的方式的数据可以用$_GET[]获取,而POST方式可以用$_POST[]获取,两者都可以用$_REQUEST[]获取
$.getScript( url, [callback]) 方法 通过 GET 方式请求载入并执行一个 JavaScript 文件。
参数名称 类型 说明
url string 发送请求的URL地址
callback function 成功载入后回调函数
有时候,在页面初次加载时就取得所需的全部javascript文件是完全没有必要的。虽然可以在需要的那个javascript文是可以动态地创建
"+username+":
"+content+"