ajax复习
以我以前写的一个练习AJAX的会员注册页面为例。
下面这些主要是在输入用户名,光标离开输入框就进行判断该用户名是否合法的ajax方法。
(1)Xmlhttprequest AJAX之核心
function S_Xmlhttprequest(){
if(window.ActiveXObject) //IE
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
else if(window.XmlHTTPRequest) //非IE
xmlhttp = XmlHTTPRequest();
}
(2)AJAX函数,也就是在HTML中onblur=ajax()的函数
function ajax(){
/*
if(form1.textfield.value == ''){
document.getElementById('div1').innerHTML = "请输入用户名";
return false;
}
*/
S_Xmlhttprequest(); //调用Xmlhttprequest
var f = document.form1.textfield.value;
xmlhttp.onreadystatechange = show; //onreadyStateChange事件可指定一个事件处理函数来处理XMLHttpRequest对象的执行结果
xmlhttp.open('GET','for.php?id='+f,true);
xmlhttp.send(null);
}
(3)ajax()调用的show()方法,就是对readyState各种不同状态采用不同行为的方法
function show(){
if(xmlhttp.readyState == 1)
document.getElementById('div1').innerHTML = "<img src="loading.gif" mce_src="loading.gif">";
else if(xmlhttp.readyState == 4){
var result = xmlhttp.responseText;
document.getElementById('div1').innerHTML = result;
}
}
readyState的4种状态:
0 - (未初始化)还没有调用send()方法
1 - (载入)已调用send()方法,正在发送请求
2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
3 - (交互)正在解析响应内容
4 - (完成)响应内容解析完成,可以在客户端调用了
responseText()方法在我看来,应该是返回PHP文件输出的内容。
最后附上那个for.php的内容:
<?
@header("content-Type: text/html; charset=gb2312");
include("MyDb.php");
$db = new MyDb($DB_LOCATION,$DB_USER,$DB_PWD);
$db->select_db('student');
if($user = $_GET['id']){
if( strlen($user)<6 || strlen($user)>12){
echo "<img src="error.gif" mce_src="error.gif"/><font color=red size=2>长度不符合</font>";
exit();
}
$zz = "^[_a-zA-Z0-9]+([_]?[a-zA-Z0-9]+)$";
if(!ereg($zz,$user)){
echo "
相关文档:
//==================>【index.jsp】===============================
<%@page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<% String path=request.getContextPath(); %>
<%@page import="com.sinoest.dfrf.orm.pojo.Mainmenu"%>
<%@page import="com.si ......
-------------------------jsp中的js代码--------------------
<script type="text/javascript">
function ajaxFunction(sort){
var xmlHttp;
try{
// Firefox, Opera 8.0+, Safari
xmlHttp=new X ......
Thickbox
-
基于
jQuery
,支持 AJAX,轻量级的而且比较高效。支持图片与HTML内容。大小约为
40k,目前还可作为 WordPress
的插件使用。这个js的优点在于与,父级的原页面滚动条随鼠标滚动的时候,弹出的层并不移动,而始终处于浏览器的固定位置。
GreyBox
- 创建 iframe 的弹出界面,可使用图片 ......
<script type="text/javascript">
function addUrl(){
//1、设置请求url地址
var name = document.getElementById("name").value;
var text = document.getElementById("url").value;
var url = "insertUrl.do?name="+name+
"&url="+text+"&time"+new Date() ;
//2、创建xmlHttpRequest对象
x ......
剖析 AJAX 回发
若要使 ASP.NET 页面成为部分呈现的页面,首先必须向页面添加一个脚本管理器,然后通过使用 UpdatePanel 控件进行封装,从而定义可独立更新的区域。例如:
< ?xml:namespace prefix = asp />
< asp:ScriptManager runat="server">< /asp:ScriptManager>
< asp:UpdatePanel id=Upda ......