Ajax常用代码总结

 

马上要用到Ajax了,先把常用到的代码总结一下:

一。最常用到的代码

----------------------------------------------------------------------------

<script>

//
设一个变量

var XMLHttpReq=false;
//
创建一个XMLHttpRequest对象
function createXMLHttpRequest(){
if(window.XMLHttpRequest){ //Mozilla
XMLHttpReq=new XMLHttpRequest();
}
//
否则我们创建windowsActiveXObject对象
else if(window.ActiveXObject){
try{
XMLHttpReq=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
XMLHttpReq=new ActiveXObject("Microsoft.XMLHTTP");
XMLHttpReq.setRequestHeader("Content-Type","text/xml");
XMLHttpReq.setRequestHeader("Content-Type","GBK");
}catch(e){}
}
}
}
//
发送请求函数
function send(url){
createXMLHttpRequest();
XMLHttpReq.open("GET",url,true);
XMLHttpReq.onreadystatechange=proce; //
指定响应的函数
XMLHttpReq.send(null); //
发送请求
}
//
处理的函数,如果请求状态成功,那么我们就得到其中的值,
function proce(){
if(XMLHttpReq.readyState==4){ //
对象状态
if(XMLHttpReq.status==200){//
信息已成功返回,开始处理信息
var res=XMLHttpReq.responseXML.getElementsByTagName('aaa')[0].firstChild.data;
document.all['companyname'].value='
此名已被注册!!!';
window.alert(res);
}else{
window.alert("
所请求的页面有异常");
}
}
}
//
身份验证
function check(value){
var companyname=document.all['companyname'].value;
if(companyname==""){
alert("
请输入公司名");
return false;
}
else{
send('CheckCompanyNameServlet?companyname='+companyname);//
在这里发送的url网址
}
}

</script>

-----------------------------------------------------------------------------------------

.上面的是产生了我们要调用Ajax的基本对象,以及发送的网址,url等函数

那我们怎么样在网页中应用呢?

代码如下:Struts的应用

--------------------------------------------------------------------

<html:text property="companyname" onblur="check(this.value)"/>

---------------------------------------------------------------------

.最后Servlet里面怎么写的呢?

----------------------------------------------

request.setCharacterEncoding("GBK");
response.setContentType("text/xml; charset=GBK");
response.setHeader("Cache-Control","no-cache");
//
得到公司名称
String companyname=request.getParameter("companyname");
//
对公司名称进行相应的操作
PartnerCtrl ctrl=new PartnerCtrl();
boolean flag=ctrl.hasPartner(companyname);
//
得到输出对象
PrintWriter out=response.getWriter();
//
开始输出流
out.println("<pront>");
if(flag){
out.println("<aaa>"+"This name had been used!"+"</aaa>");
}
out.println("</pront>");
out.close();

-----------------------------------------------

 

学习的过程中发现几点:
1 url
不能使用其他的domain,比如我用了http://www.xiaojb.com/xxx.html,结果提示没有权限使用XMLHttpRequest.open
2 XMLHttpRequest.send()
必须有参数,如果没有可以使用XMLHttpRequest.send(null);
3 XMLHttpRequest.open(method,url,flag)
中如果flagfalse,则不调用XMLHttpRequest.onreadystatechange()
4 POST
的方法是XMLHttpRequest.open(’POST’,url,true’),XMLHttpRequest.send(”username=xxx”);

posted @ 2008-12-29 09:41  驢騎士  阅读(307)  评论(0编辑  收藏  举报