时间:2021-07-01 10:21:17 帮助过:13人阅读
本文实例讲述了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框架的程序设计有所帮助。