一颗秋天的树
梦有多远,路就有多远......
posts - 15,comments - 20,trackbacks - 0

好久没写东西了。最近无聊,发点上来!
用ajax首先先写一个调用的function

一、ajaxFuntion.js


 
// 定义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 );
 }

 
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( " 您所请求的页面有异常。 " );
  }

 }

}

// 处理返回的XML格式文档的函数
function processXMLResponse()  {
 
if  (http_request.readyState  ==   4 //  判断对象状态
   if  (http_request.status  ==   200 //  信息已经成功返回,开始处理信息
   
// alert(http_request.responseXML);
   alert( " XML文档响应。 " );
  }
  else   // 页面不正常
   alert( " 您所请求的页面有异常。 " );
  }

 }


2、调用页面:

< script type = " text/javascript " >
  function getAjax(obj) 
{
   send_request(
" GET " , " /xxxAction.do?action=doAjax " , null , " text " ,processRequest); 
  }

  
  
//  处理返回信息的函数
   function processRequest()  {
        var f 
=  document.forms[ 0 ];
       
if  (http_request.readyState  ==   4 //  判断对象状态
            if  (http_request.status  ==   200 //  信息已经成功返回,开始处理信息
              var returnStr  =  http_request.responseText;
              
// alert(http_request.responseText);
               if (returnStr.indexOf( " Error " ) ==- 1 {
     f.textname.value 
=  returnStr;    
    }

    
else   {
     f.textname.value 
=   "" ;     
    }

           }
  else   { file: // 页面不正常
               alert( " 您所请求的页面有异常。 " );
           }

       }

   }
 

</ script >


3、在java的action中进行相应的逻辑处理:


 
/**
  * ajax取得信息
  * 
@param  mapping
  * 
@param  form
  * 
@param  request
  * 
@param  response
  * 
@throws  Exception
  
*/

 
public   void  doAjax(
   ActionMapping mapping,
   ActionForm form,
   HttpServletRequest request,
   HttpServletResponse response) 
throws  Exception  {
   
// 加逻辑关系
    response.setContentType( " text/html;charset=GB2312 " );
   PrintWriter out
= response.getWriter();
   out.print(
" 只要不输血,你想输出什么都可以! " );
   out.close();
 }
posted on 2006-11-09 15:25 sojust 阅读(665) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航:
 
    梦有多远,路就有多远......