大致思路:前台用ajax 上传表单参数------>到controller利用@ResponseBody转换成json数据------>前台接收
前台
test.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <script type="text/javascript" src="static/js/jquery-3.2.1.slim.min.js"></script> <script type="text/javascript" src="static/js/jquery.js"></script> <script type="text/javascript" src="static/js/jquery.min.js"></script> <meta http-equiv="Content-Type" content="text/html; charset=utf8"> <title>Insert title here</title> <script type="text/javascript" language="javascript"> function requestJson() { $.post("${pageContext.request.contextPath}/music/login1.do", function(data) { console.log(data) alert("成功"+JSON.stringify(data)) }, "json"); } </script> </head> <body> <form id="jsonh"> <input type="button" value="开始" οnclick="requestJson()" /> </form> </body> </html>
${pageContext.request.contextPath}不懂的看这篇博客http://blog.csdn.net/mint6/article/details/77381444
前台主要是 点击按钮 开始---->触发onclick点击requestJson()函数---->post方式,提交路径---->然后是一个回调函数
data接收从后台传来的数据
LoginController.java
package com.music.controller; import java.util.HashMap; import java.util.Map; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller @RequestMapping("/music") public class LoginController { @RequestMapping("/login1.do") @ResponseBody public Map<String,Object> login(){ Map<String,Object> map = new HashMap<String,Object>(); map.put("a", "1"); for (String s : map.keySet()) { System.out.println("key:" + s); System.out.println("values:" + map.get(s)); } return map; } }
前台根据路径进入login函数--->这里为了演示自己写了一个map并put保存数据--->然后@ResponseBody转换格式---->然后返回前台,回调函数接收
如果出现406错误 看这个http://blog.csdn.net/mint6/article/details/77464724