日期:2014-05-16 浏览次数:20578 次
之前写了一遍blog,很笼统的说了说Ajax的原理.新年来的第一个周末,从新来温故知新一下.
1.什么是Ajax
2.Ajax工作原理
通常,Open()方法取3个参数:
??? 一个是指定所用方法(通常是GET或POST)的串;
??? 一个是表示目标资源URL的串;
??? 一个是Boolean值,指示请求是否是异步的
?? 2.? send():向服务器发送请求
?? 3.? abort():退出当前请求
?? 4.? readyState:提供当前HTML的状态
?? 5.? responseText:服务器返回的请求响应文本
?? 6.? onreadystatechange:回调方法(回调函数)
?
?? 7.? responseXML:服务器返回的请求响应XML形式组织的文本
?
代码1:一个详细的XMLHttpRequest对象的创建
?<script language="javascript" type="text/javascript">
function getXMLHttpRequest(){
var request = false;
try {
request = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = false;
}
}
}
return request;
}
</script>
?
2.设置服务器URL
首先要确定连接的服务器的URL.这并不是Ajax的特殊要求,但是建立连接所必需的.多数应用程序中都会结合一些静态数据和用户处理的表单中的数据来构造该URL.
function testCheck(){
??? var name = document.forms[0].username.value;
??? //var name = document.getElementById("username").value;
??? if(xmlHttp == null) {
??? ??? createXMLHttpRequest();
??? }
??? var url ="/buyer/checkUser.action?username="+name;
??? xmlHttp.open("POST",url,true);
??? xmlHttp.onreadystatechange = checkUsername;
??? xmlHttp.send(null);
??? ?}
3.表单
<s:form action="saveBuyer.action" method="post">
<!-- 已知数据库中有若干用户,当用户输入注册信息时,一旦用户完成了用户名的输入,系统可以立即提示该用户名是否可用,而不是等到用户提交注册请求时才判断用户名是否可用。 -->
??? <s:textfield label="会员账号" name="username" required="true" id="username"
??? ??? requiredposition="left" size="36" onblur="testCheck()"/>
??? <s:actionerror/><div id="result" style="color: red; font-size: 22;"></div>
??? <!-- onblur当鼠标焦点离开文本框触发事件? -->
</s:form>
?
?
?
?
?
?
?