JavaScript

超轻量级php框架startmvc

prototype.js简单实现ajax功能示例

更新时间:2020-06-11 09:36 作者:startmvc
本文实例讲述了prototype.js简单实现ajax功能。分享给大家供大家参考,具体如下:原本不知

本文实例讲述了prototype.js简单实现ajax功能。分享给大家供大家参考,具体如下:

原本不知道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");
 ServletOutputStream out = response.getOutputStream();
 out.print("hello slf!");
 System.out.println("out");
 }catch(Exception e)
 {
 e.printStackTrace();
 }
 return null;
 }

简单的打印.

希望本文所述对大家prototype.js框架的程序设计有所帮助。