本文通过Java Servlet与前端HTML表单结合,演示如何使用jQuery和JSON库实现简易的Ajax异步登录功能。代码展示了后端如何将User对象序列化为JSON字符串返回,以及前端如何解析JSON数据并动态更新页面DOM元素,适用于初学者理解前后端交互流程。
jQuery结合JSON实现Ajax调用概述
本文通过具体代码示例,介绍如何利用jQuery与JSON技术完成简易的Ajax调用操作,供读者参考学习。
后端Java Servlet实现代码:
后端Servlet处理逻辑
package com.iss.servlet;
import org.json.JSONException;
import org.json.JSONObject;
import com.iss.pojo.User;
import com.iss.util.JSONUtil;
public class UserServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
//list 添加对象
List<User> userList = new ArrayList<User>();
User user1 = new User("张三", "男", "18");
User user2 = new User("李四", "男", "19");
User user3 = new User("王五", "男", "20");
userList.add(user1);
userList.add(user2);
userList.add(user3);
PrintWriter out = response.getWriter();
String str = null;
try {
//帐号密码如果匹配则把list 返回给界面
if (request.getParameter("userName").equals("jquery")
&& request.getParameter("password").equals("ajax")) {
str = JSONObject.quote(JSONUtil.toJSONString(userList));
}
out.print(str);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("str "+str);
out.flush();
out.close();
}
}
前端HTML页面代码:
前端HTML与jQuery交互实现
<body>
帐号 jquery 密码 ajax
<form id="mainform">
<ul>
<li>
帐号
<input type="text" name="userName" />
</li>
<li>
密码
<input type="password" name="password" />
</li>
<li>
<input onclick="login()" type="button" value="登录" />
</li>
</ul>
</form>
查询到的数据
<div id="diva">
</div>
<script type="text/javascript">
function login(){
//获取form的参数
var args =$("#mainform").serialize();
//调用 jquery 的json获取方法
//三个参数分别为 :请求路径 ,请求参数,返回数据的回调函数
$.getJSON("servlet/UserServlet",args,function (data){
if(data!=null){
// 界面返回的是一个json格式字符串 调用JSON.parse()把数据转化为json
// 格式的对象
var jsondata =JSON.parse(data);
parseData(jsondata);
}else{
alert("帐号密码输入有误");
}
})
}
function parseData(data){
var str="";
//遍历json格式数据
for (var key in data){
strstr =str+" 用户"+data[key].userName+" 年龄"+data[key].age+"<br/>"
alert(str);
}
//把数据添加到div中
$("#diva").html(str);
}
</script>
</body>
关键依赖与注意事项
在UserServlet中,需确保导入相关的工具类,包括JSONStringObject和JSONUtil。
JSP页面需引入jquery.js与json.js库文件。
希望上述内容对掌握jQuery程序设计有所帮助。