AJax技术

Ajax学习笔记(二)(3)

字号+ 作者:H5之家 来源:H5之家 2015-09-11 11:01 我要评论( )

html页面代码: bodyh3请输入用户名和密码登录/h3form id=login action=/Ajax/login.jsp method=post用户名:input type=text name=user /br /密 码:input type=password name=passbr /input type=button value=验

html页面代码:

<body> <h3> 请输入用户名和密码登录 </h3> <form id="login" action="/Ajax/login.jsp" method="post"> 用户名: <input type="text" name="user" /> <br /> 密 码: <input type="password" name="pass"> <br /> <input type="button" value="验证用户" onclick="login();"/> <br /> <div id="d"></div> </form> <script type="text/javascript" src="prototype.js"></script> <script type="text/javascript"> function login() { //直接使用Form的request方法发送异步请求,request方法的参数是个json数组的格式! $("login").request( { //指定回调函数 onComplete : function(request) { $("d").innerHTML = request.responseText; } }); }</script></body>jsp页面嵌入的Java代码<%String user=request.getParameter("user");String pass=request.getParameter("pass");if(user.equals("zpc")&&pass.equals("123456")){out.println("验证通过!");}else{out.println("没有通过验证!");} %>

(2)使用Ajax.Responders对象

这个对象用于注册Ajax事件监听器,该对象注册的Ajax事件监听器不管是哪个XMLHttpRequest在发生交互,都能被自动触发。因而Ajax.Responders注册的事件监听器是全局有效的,可以用于监控整个Ajax的交互过程。

//增加了loading图片的fruit.html <body> <h3> 请输入您喜欢的水果 </h3> <div style="width: 280px; font-size: 9pt"> 输入apple、banana、peach可以看到明显效果 </div> <br /> <input id="favorite" name="favorite" tyep="text" onblur="$('tips').hide();" /> <img alt="loading" id="loading" src="/Ajax/images/loading.gif" style="display: none; width: 20px; height: 20px"> <div id="tips" style="width: 160px; border: 1px solid menu; background-color: #ffffcc; display: none;"></div> <script type="text/javascript" src="prototype.js"></script> <script type="text/javascript"> function searchFruit() { var url = "/Ajax/fruit.jsp"; //将favorite表单域的值转化为请求参数,形如favorite=app&color=red.... var params = Form.Element.serialize('favorite'); //alert(params); //创建Ajax.Request对象,对应于发送请求 var myAjax = new Ajax.Request(url, { method : 'post', parameters : params, onComplete : showResponse, asynchronous : true }); } //定义回调函数 function showResponse(request) { //alert("回调函数被触发!"); //在tip中显示服务器的响应 $('tips').innerHTML = request.responseText; //显示tip对象 $('tips').show(); } //定义Ajax的全局事件处理器对象 var myGlobalHandlers = { //刚刚开始Ajax交互时触发该属性指定的函数 onCreate:function() { $("loading").show(); }, //交互完成时触发该属性的指定函数 onComplete:function() { if (Ajax.activeRequestCount == 0) { $('loading').hide(); } }, //交互失败时触发该属性指定的函数 onFailure:function() { alert("对不起,页面加载出错!"); } }; //为Ajax事件绑定全局的事件处理器 Ajax.Responders.register(myGlobalHandlers); new Form.Element.Observer("favorite", 1, searchFruit);</script></body>

(3)使用Ajax.Updater类

  这个类是Ajax.Updater类的简化,使用该类无需使用回调函数,该类可以自动将服务器响应显示在某个容器中。当服务器响应完成时,客户端html页面无需使用回调函数解析服务器响应(当然也可以手动添加回调函数),从而进一步简化Ajax交互编程。

(4)使用Ajax.PeriodicalUpdater类

   它是一个周期性的Ajax.Updater类,周期性地向服务器发送请求(当然也可以手动指定定时器对象),并将服务器响应在客户端HTML页面的某个元素中显示出来。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • JQuery实现Ajax加载图片的方法

    JQuery实现Ajax加载图片的方法

    2016-02-24 17:01

  • 判断用户是不是为ajax请求

    判断用户是不是为ajax请求

    2016-02-24 17:00

  • Ajax与WEB开发 by alixixi.com

    Ajax与WEB开发 by alixixi.com

    2016-02-11 11:02

  • jQuery.ajax()的相关参数及使用

    jQuery.ajax()的相关参数及使用

    2016-02-08 16:00

网友点评