Ajax异步提交表单数据简单方法

场景描述:
对于一个登陆页面中有一个登陆的表单,可是因为登陆验证逻辑比较复杂,咱们但愿点击登陆后不刷新当前页面,给出登陆结果后再选择是跳到新的页面仍是提示用户名密码错误。相似这样的问题不少不少。异步获取数据使用户体验大大加强。
背景知识:
Ajax指的是异步JavaScript及XML(Asynchronous JavaScript And XML)。
AJAX 不是一种新的编程语言,而是一种用于建立更好更快以及交互性更强的
 Web 应用程序的技术。经过AJAX,您的JavaScript 可以使用JavaScript 的XMLHttpRequest 对象来直接与服务器进行通讯。经过这个对象,您的JavaScript 可在不重载页面的状况与Web 服务器交换数据。AJAX
 在浏览器与Web 服务器之间使用异步数据传输(HTTP 请求),这样就可以使网页从服务器请求少许的信息,而不是整个页面。AJAX 可以使因特网应用程序更小、更快,更友好。AJAX
 是一种独立于Web 服务器软件的浏览器技术。 AJAX 基于下列Web 标准:JavaScript XML HTML CSS 在AJAX 中使用的Web 标准已被良好定义,并被全部的主流浏览器支持。AJAX 应用程序独立于浏览器和平台。Web
 应用程序较桌面应用程序有诸多优点;它们可以涉及广大的用户,它们更易安装及维护,也更易开发。 不过,因特网应用程序并不像传统的桌面应用程序那样完善且友好。
 经过AJAX,因特网应用程序能够变得更完善,更友好。
具体用法:
[javascript] 
<script type="text/javascript"> 
(function(){ 
    jQuery('#loginForm').click( 
        function() { 
            jQuery('#tips').html("正在登陆....."); 
            jQuery.post( 
                <span style="white-space:pre">      </span>'login.action', 
                <span style="white-space:pre">      </span>{ 
                   <span style="white-space:pre">           </span>"username":jQuery('#username').val(), 
                   <span style="white-space:pre">           </span>"password":jQuery('#password').val() 
                <span style="white-space:pre">      </span>}, 
                <span style="white-space:pre">      </span>function(result) { 
                    jQuery('#tips').html(result); 
                <span style="white-space:pre">      </span>}, 
                <span style="white-space:pre">      </span>"json" 
             <span style="white-space:pre">     </span>); 
        } 
    ); 
})(); 
</script> 
post方法中有四个参数。
第一个是url地址,在struts2中,咱们只须要提交给对应的action便可,或者指定方法。对于webx,咱们须要这样写url地址login.htm?action=user_login&event_submit_do_user_login=any
第二个是参数列表,你要提交的数据,以键值对形式提交。
第三个参数是结果处理函数,那么结果将从result中取出。
第四个参数是数据返回格式。
那么action或者screen中须要作的处理是:
[java] 
HttpServletResponse response = rundata.getResponse(); 
response.setContentType("application/json"); 
PrintWriter out; 
try { 
    out = response.getWriter(); 
    String result = (String) context.get("result"); 
    JSONObject json = new JSONObject(); 
    json.put("result", result); 
    out.print(json); 
    out.flush(); 
} catch (IOException e) { 
    e.printStackTrace(); 

输入处理结果便可。javascript

相关文章
相关标签/搜索