irpas技术客

jQuery封装Ajax,java对象转json_羡羡ˇ

大大的周 5464

Ajax 全称为:“Asynchronous JavaScript and XML”(异步JavaScript 和 XML) 为什么要采用异步的方式来给后端发送请求呢? 介绍异步之前, 我们先来了解同步的方式 这里我们做一个示例 :? <!-- 建立一个表单来给后端提交数据--> <form action="ServletDemo" method="post"> 账号 : <input type="text" name="account"> <input type="submit" value="提交"> </form> @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String account = req.getParameter("account"); resp.setContentType("text/html;charset=utf-8"); PrintWriter out = resp.getWriter(); out.print("返回的信息"); }

运行 :

点击提交 :

可以看到 , 信息虽然被成功返回, 但是返回的信息直接覆盖了原来的页面

这就是同步的发送方式, 在向后端发送请求得到返回的信息之前?, 此时页面会等待返回的信息, 在此期间好比处于待机状态 , 然后接收到返回的信息直接将页面覆盖

所以这里我们采用异步的方式 - ajax?

这里相当于浏览器不会处于待机状态, 单独去发送一个请求与服务器交互, 这样页面便不会出现变化,我们只需要处理返回的信息即可

这里我们直接介绍 jQuery封装后的 ajax , jQuery是一个封装了JavaScript的轻量级库, 语法更加简洁, 功能强大?

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="js/jquery-1.8.3.min.js"></script> <script type="text/javascript"> /*采用JQuery封装的ajax*/ function method(){ // 包含$.get()和$.post(),这里使用$.post(), 里面有四个参数 // 参数1 : web.xml里配置的访问地址 参数2 : 序列化表单 // 参数3 : 回调的方法 参数4 : 转json格式 $.post("ServletDemo",$("#formId").serialize(),function (res) { alert(res.account+":"+res.id) },"json") } </script> </head> <body> <form id="formId"> 账号 : <input type="text" name="account"> <input type="button" value="提交" onclick="method()"> </form> <!----> </body> </html

这里我们介绍什么是json?

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式 我们后端传过去的是一个java对象, 浏览器识别不了java对象 , 所以我们需要把java对象转为js对象 这样我们的前端请求就完成了, 现在来看后端 public class User { private Integer id ; private String account; public User() { this.id = 1; } public String getAccount() { return account; } public void setAccount(String account) { this.account = account; } }

先建一个User类

另外需要注意 , 我们这里需要一个Gson的 jar 文件, 和导入mysql与Servlet一样, 这里我们最终将java 对象转为 js 对象需要导入这样一个jar包

? ? ?

可以去百度下载

导入 jar 并使用

public class ServletDemo extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String account = req.getParameter("account"); //创建User对象来保存传入的一个account User user = new User(); user.setAccount(account); resp.setContentType("text/html;charset=utf-8"); PrintWriter out = resp.getWriter(); // 利用Gson类中的toJson()方法转json out.print(new Gson().toJson(user)); } }

?运行 :

结果 :

?

消息被成功加载 ?

?

?


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #jquery封装ajax #java对象转json #AJAX #全称为Asynchronous #JavaScript #and #XML异步JavaScript #