您的位置:首页 > Web前端 > JavaScript

prototype.js实现AJAX小例子

2007-09-07 13:09 597 查看
  原本不知道prototype.js是一个框架,只当其是一个再普通不过的JS文件.随手拿着用了用,写了一个JSP页面,单纯的用prototype.js来实现AJAX效果.用了之后发现超好用,自己再也不用写那么大一堆代码了,哦耶.言归正传,还是把今天写的那个小代码发上来.

一.JSP部分
     这部分的代码,最为关键的是JS部分的改变.没有采用prototype.js的时候,生成一个AJAX效果,起码得有四大段.现在,只用写成下面这一小段代码了.
  


<script type="text/javascript">




function getnodelist()...{


      function onSuccess(request)




    ...{    


           alert("success");


          $("result").innerHTML = "abc"+request.responseText ;


   }


        




    function onComplete(request)...{


    }


        




     function onFailure(request)...{


          alert("failure");


         $("result").innerHTML = request.responseText ;


    }


        


    var paras = "" ;


        


    var ajax = new Ajax.Request(


          "http://localhost:8080/LoginDemo/test.do", 




       ...{


    method: 'post', 


    parameters:paras ,


    onSuccess: onSuccess,


    onComplete:onComplete,


    onFailure:onFailure


      }


  );


}


</script>

  其中最重要的就是这一段了:
  var ajax = new Ajax.Request(     //新生成一个AJAX.Request对象.
  "http://localhost:8080/LoginDemo/test.do",  //请求的servlet地址.即URL  
  {                                                               //参数
   method: 'post',
   parameters:paras ,
   onSuccess: onSuccess,              //这些函数和上面三个函数相对应.
   onComplete:onComplete,
   onFailure:onFailure
  });
注明:,里面的URL要么写成绝对路径,要么就在前面取<% String path = request.getContextPath();%>,然后在这里
"<%=path%>/test.do"
 prototype.js让我觉得最方便的地方就在于我不用自己去判断当前浏览器的状态,如果成功了就调用OnSuccess
函数,失败就调用onFailure函数,而我只用关注于成功失败之后该怎么处理,简化了程序.

二.后台struts部分.


public ActionForward execute(


        ActionMapping mapping,


        ActionForm form,


        HttpServletRequest request,




        HttpServletResponse response) ...{




        // TODO Auto-generated method stub




        try...{


            System.out.println("in action");


          response.setContentType("text/html;charset=gb2312"
af57
);


            ServletOutputStream out = response.getOutputStream();


            out.print("hello slf!");


            System.out.println("out");


        }catch(Exception e)




        ...{


            e.printStackTrace();


        }


        return null;


    }

  简单的打印.

关于prototype.js在网上有好多资料,感觉很有深度可以挖,又有得学了哦~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息