Ajax在Tapestry中的应用有哪些?
Ajax在Tapestry中的应用有哪些?
实例:
1. Ajax登录的优点:如果输入密码错误,页面无刷新。
<script language="javascript">
	//定义XMLHttpRequest对象实例
	var http_request = false;
	//定义可复用的http请求发送函数
	function send_request(method,url,content,responseType,callback) {//初始化、指定处理函数、发送请求的函数
	http_request = false;
	//开始初始化XMLHttpRequest对象
	if(window.XMLHttpRequest) { //Mozilla 浏览器
	http_request = new XMLHttpRequest();
	if (http_request.overrideMimeType) {//设置MiME类别
	http_request.overrideMimeType("text/xml");
	}
	}
	else if (window.ActiveXObject) { // IE浏览器
	try {
	http_request = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
	try {
	http_request = new ActiveXObject("Microsoft.XMLHTTP");
	} catch (e) {}
	}
	}
	if (!http_request) { // 异常,创建对象实例失败
	window.alert("不能创建XMLHttpRequest对象实例.");
	return false;
	}
	if(responseType.toLowerCase()=="text") {
	//http_request.onreadystatechange = processTextResponse;
	http_request.onreadystatechange = callback;
	}
	else if(responseType.toLowerCase()=="xml") {
	//http_request.onreadystatechange = processXMLResponse;
	http_request.onreadystatechange = callback;
	}
	else {
	window.alert("响应类别参数错误。");
	return false;
	}
	// 确定发送请求的方式和URL以及是否异步执行下段代码
	if(method.toLowerCase()=="get") {
	http_request.open(method, url, true);
	http_request.setRequestHeader("If-Modified-Since","0");
	}
	else if(method.toLowerCase()=="post") {
	http_request.open(method, url, true);
	http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	}
	else {
	window.alert("http请求类别参数错误。");
	return false;
	}
	http_request.send(content);
	}
	// 处理返回文本格式信息的函数
	function processTextResponse() {
	if (http_request.readyState == 4) { // 判断对象状态
	if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
	//alert(http_request.responseText);
	alert("Text文档响应。");
	} else { //页面不正常
	alert("您所请求的页面有异常。");
	}
	}
	}
	
	function registerCheck() {
	document.getElementById("feedback_info").innerHTML = "";
	var f = document.forms[0];
	if(f.userAccount.value!="" && f.password.value !="" ){
	document.getElementById("feedback_info").innerHTML = "正在处理请求,请稍后...";
	send_request("POST","?service=page/Register&userAccount="+f.userAccount.value+"&password="+f.password.value,null,"text",showFeedbackInfo);
	}
	else {
	document.getElementById("feedback_info").innerHTML = "请输入正确的用户名和密码。";
	}
	}
	function showFeedbackInfo() {
	if (http_request.readyState == 4) { // 判断对象状态
	//alert(http_request.responseText);
	if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
	//alert(http_request.responseText);
	if(http_request.responseText=='OK'){
	document.forms[0].submit();
	}
	else{
	document.getElementById("feedback_info").innerHTML = http_request.responseText;
	}
	} else { //页面不正常
	alert("您所请求的页面有异常。");
	}
	}
	}
	</script>
2. Ajax实现定时刷新。(待续)