这是学习AJAX的第一篇文章Word文档下载推荐.docx
《这是学习AJAX的第一篇文章Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《这是学习AJAX的第一篇文章Word文档下载推荐.docx(13页珍藏版)》请在冰点文库上搜索。
{
try{
request=newXMLHttpRequest();
}catch(trymicrosoft)
{
request=newActiveXObject("
Msxml2.XMLHTTP"
);
}catch(othermicrosoft)
Microsoft.XMLHTTP"
}
catch(failed)
request=false;
if(!
request)
alert("
errHappend!
"
returnnull;
}
returnrequest;
}
//这个函数就是用户的动作所有触发的函数,如下面的onblur()时,就会调用该函数
//经过的步骤如下:
//1.从HTML页面得到你需要的数据,可以采有document.getElementById("
)方法。
//2.建立需要的URL,该URL就和在FORM里面的method为get时并采用submit提交在地址栏里面到的一样
//3.打开与服务器的连接,这里面有三个必要的参数,虽然文档规定只有两个,但是我个人觉得最好用三个,
//第一个可以是GET,POST或者是POST,但常用的就是前面的两个,并且最好都用大写,因为有些浏览器如FireFox可能会报错,
//第二个就是打报的URL,这肯定你是必须的。
//第三个就是下面的看到的true,这里可以是false。
true表示同步处理,你提交后可以做其它的事情,
//这就是AJAX里面的A,即asynchronous;
如是false,那就得等到服务器的返回才能够做其它的事情。
//4.等到服务器完成,并且确定返回执行了正确执行的提示,我们就可以做下面我们想做的事情。
这些后面的事情就必须通过
//Javascript去完成了,因为XMLHttpRequest的唯一用途就是发送请求及接收服务器的响应结果。
//5.上面都完成了后,就可以采用send()方法向服务器发送你需要发送的信息了,它的参数可以是任何类型,发送的数据格式必须为
//这样的格式:
name=value&
anothername=othervalue&
so=on,如果你想传送数据,你必须更改MIME类型:
//httpRequest.setRequestHeader('
Content-type'
'
application/x-www-form-urnlencoded'
//否则服务器将会丢弃发送的数据。
functiongetBackInfo()
varusername=document.getElementById("
username"
).value;
varurl='
checkUser.jsp?
username='
+username;
request.open("
GET"
url,"
true"
//下面相当于是一个隐性的循环,在函数中规定只有都接收完毕数据后才做处理
//onreadystatechange有5个值:
//0:
未初始化
//1:
初始化
//2:
发送数据
//3:
接收数据中
//4:
数据接收完毕
//另外还要注意就是在注册回调函数onreadystatechange时,后面的函数不能够带参数
//如下disResult是一个函数,不能够带参。
reqeust.onreadystatechange=disResult;
//隐性的循环
request.send(null);
functiondisResult()
//1.一定要确定readystate==4的完成状态才做下面的事,否则会在建立连接即readystate==1的时候就开始,
//然后会在readystate==2,readystate==3,readystate==4的时候都会执行,不信你可以alert("
)一个
//提示信息试试。
//2.服务器通知完成了,并且还要保证是正确完成的,得到的是我们需要的结果才能够继续,这里常用响应码有:
//200:
成功执行
//401:
未授权
//403:
禁止
//404:
没有找到文件
if(request.readystate==4)
if(request.status==200)
//一切都OK了,那就该用Javascript去执行你想要的动作了。
document.getElementById("
disCheckResult"
).value=request.responseText;
alert('
done'
else
SomethingWronghasHappend!
'
/script>
/head>
body>
form>
<
table>
tr>
td>
inputtype=textid="
onblur="
getBackInfo();
>
/td>
ddid="
这里用于在执行后显示结果的地方<
/dd>
/tr>
/table>
/form>
/body>
/html>
第二个用于验证的JSP页面:
checkUser.jsp
!
DOCTYPEHTMLPUBLIC"
-//W3C//DTDHTML4.01Transitional//EN"
http:
//www.w3.org/TR/html4/loose.dtd"
%@pagecontentType="
text/html;
charset=GBK"
%>
%@pageimport="
project1.DBMS_Conn"
metahttp-equiv="
Content-Type"
content="
charset=GBK"
/>
checkUser<
%
Stringusername=request.getParameter("
DBMS_Connconn=newDBMS_Conn();
if(conn.checkUser(username))
out.println("
用户名已经存在!
//这个信息就是发送到前台去显示的信息,即服务器返回的信息
可以继续!
第三个数据库连接JAVA程序:
packageproject1;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
publicclassDBMS_Conn{
Connectionconn;
Statementst;
publicDBMS_Conn(){
conn_init();
voidconn_init(){
setConnection();
setStatement();
publicvoidsetConnection(){
try{
//Class.forName("
org.gjt.mm.mysql.Driver"
).newInstance();
Class.forName("
sun.jdbc.odbc.JdbcOdbcDriver"
//db.mdb有一个名为user表,至少有一个名为username的字段
Stringstrurl=
"
jdbc:
odbc:
driver={MicrosoftAccessDriver(*.mdb)};
DBQ=E:
\\db.mdb"
;
//conn=
//DriverManager.getConnection("
mysql:
//localhost/palfinger?
user=root&
password=admin&
useUnicode=true&
characterEncoding=8859_1"
conn=DriverManager.getConnection(strurl);
}catch(Exceptione){
e.printStackTrace();
/**
*设置Statement
*/
publicvoidsetStatement(){
st=
conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
}catch(SQLExceptione){
*根据用户名确定用户是否存在
publicbooleancheckUser(Stringusername){
Stringsql="
select*fromuserwhereusername='
+username+"
ResultSetrs;
rs=st.executeQuery(sql);
if(rs.next())
conn.close();
returntrue;
returnfalse;
利用innerHTML实现隐显效果-两种实现方法
最近对JavaScript非常感兴趣,可能因为是它和JAVA差不多吧。
原来看到一些网页上的隐显效果,心理面真是佩服,心想自己能够做就爽了。
现在对innerHTML有一点的了解,做这个东西就相对简单了,下面就是我自己弄来玩的一个例子,我相信你看了过后,如果你原来也没有做过,那我保证你说“原来这么简单!
!
”:
这里要补充说明一点,就是不同的浏览器对Javascript的支持不同,我这里用了FireFox和微软的浏览器比较了一下,有些能够在微软的浏览器实现效果下,在FireFox下不一能够实现。
script>
//这种方式是通过显示条件判定来决定innerHTML的显示内容
//这里显示的内容是原来不存在的。
这个方法只支持微软的浏览器
functiontClick(id)
varstr='
if(id==1)
str='
ahref=#onclick=t
(2)>
--<
/a>
str+='
br>
&
nbsp;
1、你好'
2、欢迎光临'
ahref=#onclick=t
(1)>
-->
window.testClick.innerHTML=str;
//这种方式通过条件确定,是否把已经存在的东西显示出来。
FireFox可以支持该方法,为了程序的移植性,最好选用这一种方式。
functionhello(obj,idStr)
vard=document.getElementById(idStr);
if(d.style.display=='
none'
)
d.style.display='
block'
obj.innerHTML='
回去'
出来'
tdid=testClick>
ahref=#onclick=tClick
(1)>
ahref=#onclick=hello(this,'
helloddd'
)>
出来<
ddid=hellodddstyle=display:
none>
你好
通过改变innerHTML的内容,动态增加选择项
我们遇到过这样的情况,有些邮箱中有让我增加附件的时候,想增加多少点击增加就可以了,可是却不知道怎么实习的,我看了一下,其实就是运用了一个innerHTML而已,下面我做了一个实例,这是个人的习惯,就是一给自己一个好的记忆存储,也方便需要查找资料的朋友,下面就是一个简单的例子:
根据JAVASCRIPT设置innerHTML<
charset=gb2312"
/style>
//这个函数是根据用户设置的数字去重新生成innerHTML
functionsetid()
window.form1.upcount.value)
window.form1.upcount.value=1;
for(i=1;
i<
=window.form1.upcount.value;
i++)
//str+='
文件'
+i+'
:
inputtype=filename=file'
style=width:
400>
str=getStrValue();
//alert(str);
window.upid.innerHTML=str+'
//增加一个
functionsetSetAddOne()
varstr;
varid=eval(window.form1.upcount.value);
id+=1;
window.form1.upcount.value=id;
str=window.upid.innerHTML;
str+=addOne(id);
window.upid.innerHTML=str;
//取得最终生成的innerHTML
functiongetStrValue()
//alert(window.form1.upcount.value);
str+=addOne(i);
returnstr;
//返回增加一项的字符,参数是当前是每几个
functionaddOne(i)
请选择操作项:
selectname=select'
optionvalue=1>
中国人打死日本人<
/option>
optionvalue=2>
中国人踢死日本人<
optionvalue=3>
中国人玩死日本人<
/select>
bodybgcolor="
#FFFFFF"
text="
#000000"
formname=form1>
tralign="
left"
valign="
middle"
bgcolor="
#eeeeee"
tdbgcolor="
height="
92"
li>
设置个数
inputtype="
text"
name="
upcount"
value="
1"
button"
Button"
onclick="
setid();
·
设定·
ButtonAdd"
setSetAddOne();
增加·
/li>
center"
tdalign="
id="
upid"
122"
请选择操作项:
selectname=select1>
/o