jQuery学习教程,十:AJAX
先复习一下经典的ajax方式
ajax.php
现在时间是<php? echo date('Y-m-d H:i:s');?>
ajax.html
<script type="text/javascript"> function Ajax(){ var xmlHttp=null; if(window.ActiveXObject){ try{ xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP") }catch(e){} } }else if(window.XMLHttpRequest){ xmlHttp=new XMLHttpRequest(); } if(xmlHttp!=null){ xmlHttp.open("GET","ajax.asp",true); xmlHttp.onreadystatechange=Call; xmlHttp.send(null); } var p=document.getElementById("content"); function Call(){ if(xmlHttp.readyState==4){ if(xmlHttp.status==200){ p.innerHTML=xmlHttp.responseText; } } } } </SCRIPT> <BUTTON onclick=Ajax()>获取</BUTTON>
这里使用ajax算是有些麻烦
再看看使用jQuery
<script type="text/javascript"> $(function(){ $("button").click(function(){ $("p").load("ajax.asp"); }); }); </script>
$.load()方法
上面使用了load函数。load语法如下,
load(url[,data][,callback])//url:string 类型,请求HTML页面的URl地址;data:Object类型,发送到服务器的key/value数据;callback,Function类型,请 求完成时的回调函数
其中url可使用选择器接收该url中指定地址的某一元素内的文本。这是一个异常强大的功能,假如使用传统js方式的话就需要使用replace去 过滤某些字符,还可能要用到Regex。而现在jQuery只要简单的选择器过滤就可以了。
$("p").load("ajax.php"),ajax.php内容如下:
<h4>获取指定内容的标题</h4> <p><?php echo data('Y-m-d H:i:s'); ?></p>
第二个参数data
<script type="text/javascript"> $(function(){ $("button").click(function(){ $("p").load("ajax_data.php",{name:"wang",age:"23"},function(responseText,textStatus,XmlHttp){ alert("xmlHttp对象:" + XmlHttp + "\r\n请求状态:" + textStatus + "\r\n获得数据:" + responseText); }); }); }); </script>
ajax_data.php代码
<?php if $_POST("name")<>""{ echo "您的姓名为:" . $_POST("name"); echo ",年龄是" . $_POST("age"); } ?>
其中参数{name:"王洪剑",age:"23"}显示声明时是以post方式来请求数据的;默认不加参数时以get方式请求。因此应当使用 request.Form("name")来获得数据。 callback代表载入返回数据后执行的函数,它有三个参数可供选择
reponseText//返回的文本
textStatus//请求状态:sucess|error|notmodified|timeout
XmlHttpRequest//XmlHttpRequest对象,Object类型
- 上一篇 »JavaScript组件之JQuery,A~Z教程
- 下一篇 »1-html基本结构与编写规范