1、首先是jsp页面 (ajax 提交的数据以键值对的形式)
<script language="javascript" src="<%=basePath%>/js/jquery.js"></script>
<script type="text/javascript">
function tosubmit(){
$.post("login.action", {userName:"John",password:"123456"} );
}
</script>
<form name="loginForm" action="login.action" method="post">
<input type="button" onclick="tosubmit();" value="登录"/>
</form>
因为使用的是 jquery ajax 请求,因此首先需要引用 jquery.js。
本例使用 jquery ajax 的 post 提交,因此需要使用 $.post() 方法。
此方法的第一个参数 url:待载入页面的URL地址(可以是.jsp或.do或.action)。
此方法的第二个参数 data (可选):待发送 Key/value 参数。以struts2为例,在action中需要有对应key的属性值,及set和get方法。此 data 是用 {} 括起来的,以 key:value 的形式表现的,如果是多个键值对,则以分号分隔开。
此方法的第三个参数 callback (可选):载入成功时的回调函数。
此方法的第四个参数 callback (可选):返回内容格式,xml, html, script, json, text, _default。
2、以 struts2 为例:
public class HelloWorld extends ActionSupport {
private static final long serialVersionUID = -1909952087423834225L;
private String userName;
private String password;
public String execute() throws Exception {
//userName:John, password:123456
System.out.println("userName:"+userName+", password:"+password);
return "LIST";
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
首先需要有跟jsp页面上匹配ajax传过来的属性名:userName, password。并且需要有此属性的set和get方法。
输出结果:userName:John, password:123456
可见,在action中得到了从jsp页面通过ajax请求过来的两个属性userName, password的值:John, 123456
3、jsp页面 (ajax 提交的数据以序列化的形式)
<script language="javascript" src="<%=basePath%>/js/jquery.js"></script>
<script type="text/javascript">
function tosubmit(){
$.post("login.action", $("#f1").serialize());
}
</script>
<form name="loginForm" action="login.action" method="post" id="f1">
用户名:<input type="text" name="userName"/><br>
密 码:<input type="text" name="password"/><br>
<input type="button" onclick="tosubmit();" value="登录"/>
</form>
当 ajax 以序列化的形式提交数据的时候,需要指定<form>的id,例如本例中 <form id="f1">
在 ajax 的 post 方法的第2个参数中指定以序列化方式:$("#f1").serialize() 。就是把f1这个form序列化后传给后台。
在 form 中,还是像平时一样,写上业务需要的各个属性,并且在struts的 action 中都有对应的属性值及set和get方法。这样在action中就会取到页面上通过 ajax 提交的值。
例如本例中就可以动态的获得页面上输入的 userName, password 的值。
4、jsp页面 (ajax 提交数据后,带回调函数的例子)
<script type="text/javascript">
function tosubmit(){
$.post("login.action", $("#f1").serialize(),function(wjy){
if(wjy==0){
alert("用户名密码正确!");
}else{
alert("用户名密码错误!");
}
});
}
</script>
<form name="loginForm" action="login.action" method="post" id="f1">
用户名:<input type="text" name="userName"/><br>
密 码:<input type="text" name="password"/><br>
<input type="button" onclick="tosubmit();" value="登录"/>
</form>
当 ajax 提交数据后会调用一个匿名的回调函数 function(wjy){...} 。参数wjy是从后台传过来的值,如果传过来的值为0,则表示用户名密码正确;如果从后台传回来的值为1,则表示用户名密码错误。现在看下后台代码:
public class HelloWorld extends ActionSupport {
private static final long serialVersionUID = -1909952087423834225L;
private String userName;
private String password;
public String execute() throws Exception {
//验证用户名和密码的合法性,正常来说需要取数据库中的值来验证
if("wangjy".equals(userName) && "403".equals(password)){
ServletActionContext.getResponse().getWriter().print(0);
}else{
ServletActionContext.getResponse().getWriter().print(1);
}
return null;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
当 ajax 传进来的userName 和 password 分别为 wangjy 和 403 的时候,表示用户名密码争取,返回到页面值为0。
ServletActionContext.getResponse().getWriter().print(0); 表示返回页面的值。
注意:action中的方法 execute() 一定要为 null。否则返回页面的值也包括了此方法返回的值,就不仅仅是0或1了。
分享到:
相关推荐
然而,在这个例子中,我们将重点放在jQuery的AJAX函数上,因为它是跨平台的,并且更加灵活。 jQuery的AJAX函数`$.ajax()`是核心。它允许我们创建一个异步HTTP(GET或POST)请求,从而在不刷新整个页面的情况下获取...
**jQuery和Ajax技术详解** jQuery是一款非常流行的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理以及Ajax交互。在Web开发中,jQuery是实现动态和交互性网页的关键工具。Ajax(Asynchronous ...
在网页开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理和Ajax交互。本示例主要关注jQuery结合Ajax实现的分页功能,这种技术允许用户在不刷新整个页面的情况下加载新的内容,提高了...
在IT行业中,jQuery和AJAX是两个非常关键的前端技术,它们极大地简化了网页与服务器之间的数据交互。本文将深入探讨一个完整的jQuery+AJAX传输请求的实例,旨在帮助开发者理解如何有效地使用这两种技术实现异步数据...
这个例子结合了MVC架构模式、JQuery库、Ajax技术,实现了用户登录验证和无刷新分页功能。数据库采用SQL Server 2005,利用其强大的数据存储和管理能力。无刷新分页提升了用户体验,JQuery简化了前端代码,而MVC结构...
在这个"JqueryAjax简单实例"中,我们主要关注如何在Visual Studio 2005 C#环境下利用jQuery实现AJAX的功能。首先,我们需要确保项目中已经引入了jQuery库。这通常通过在HTML头部添加jQuery库的CDN链接或者将jQuery....
在这里,我们将深入探讨基于jQuery的Ajax应用,以"jQuery+Ajax例子"为标题,结合项目描述和标签,我们来详细讲解这些技术。 1. **jQuery简介** jQuery由John Resig在2006年创建,旨在使JavaScript编程变得更加简单...
【ASP + jQuery AJAX 实例源码详解】 ASP (Active Server Pages) 是微软开发的一种服务器端脚本语言,常用于构建动态网页。jQuery 是一个流行的JavaScript库,它简化了DOM操作、事件处理、动画以及AJAX交互。AJAX...
这个“php+jquery+ajax最简单例子”旨在教你如何使用这些工具实现一个基本的异步数据交换功能。 首先,让我们深入了解这三个概念: 1. PHP(Hypertext Preprocessor):这是一种服务器端脚本语言,主要用于网页...
load()方法 、 $.get()和$.post()方法 、 $.getScript()和$.getJson() 、 $.ajax()方法 、 ...jQuery中的Ajax全局事件 这些都有详尽的例子,一看代码,你就能明白jquery里实现ajax是怎么回事了,简单明了。
jquery实现ajax小例子(资源分高了点,但绝对物超所值) 使用jquery实现XML与JSON同服务器的通信 提供了很多个常见的Ajax特效,学习这几个特效能助您学习jquery 项目中已有相关的包及工具,导入MyEclipse后可直接...
在本示例中,我们将探讨如何使用Spring MVC框架与jQuery库结合实现Ajax功能。Spring MVC是Spring框架的一部分,专门用于构建Web应用程序,而jQuery则是一个强大的JavaScript库,简化了DOM操作、事件处理以及异步HTTP...
IWEDIT1的事件处理程序启动AJAX调用,将在IWEDIT1输入的文字传到后台,后台的TIWURLResponderEvent响应前台传来的数据,处理完毕后返回前台,通过前台在AJAX调用时注册的回调函数将处理结果显示在屏幕上。...
本主题将深入探讨如何利用jQuery实现AJAX技术,通过给出的实际例子来增强理解。 AJAX(Asynchronous JavaScript and XML)是一种在无需刷新整个页面的情况下,能够更新部分网页的技术。jQuery提供了易于使用的API,...
标题“jquery的ajax例子无错版”表明这是一个关于jQuery AJAX用法的示例,且已针对可能出现的编码问题进行了处理,确保在utf_8和gb2312两种常见字符编码下都能正常显示,避免了乱码问题。在多语言网站或者处理中文...
对于初学者来说,通过实际操作和研究"Jquery&AjaxTest"中的例子,能够快速掌握这两项技术,并将它们应用到自己的项目中。在学习过程中,建议同时了解HTTP协议、JSON数据格式以及现代浏览器的跨域限制等相关知识,这...
在这个“jquery ajax json”的例子中,我们将探讨如何结合这三者实现动态的数据加载。 首先,`display.html`是主页面,它包含HTML结构以及调用jQuery AJAX函数的JavaScript代码。在这个HTML文件中,通常会有一个...
本教程将通过几个常见的jQuery小例子,深入解析jQuery的核心功能及其使用方法。 1. **选择器**: jQuery的选择器类似于CSS选择器,用于选取HTML元素。例如,`$("#myDiv")`会选择ID为"myDiv"的元素,`$(".myClass")`...
在这个例子中,我们可能使用类似`$.ajax({ url: 'Handler.ashx', type: 'POST' })`的代码,其中`url`指定服务器端的处理程序,`type`指明请求类型(GET或POST)。 3. **发送数据**:数据可以通过`data`参数发送,...
在这个小例子中,JQuery库被用来简化Ajax的使用。JQuery提供了方便的API,如`$.ajax()`或`$.post()`,可以轻松地向服务器发送异步请求,获取响应,并在客户端更新页面。这样,用户可以即时看到登录成功与否的信息,...