var api = "http://192.168.2.139/WebTest/api/search/getProjectStatusList"; var name = $("#firstForm input[name='name']").val(); $.ajax( { type: 'post', url : api, //async: false, dataType : 'jsonp', jsonpCallback:'callback', data: {'name':name}, success : function(json){ //TODO }, error : function(XMLHttpRequest,textStatus,errorThrown) { //TODO } } );
后端写为:
@RequestMapping(method=RequestMethod.GET,value="getProjectStatusList",produces="text/html;charset=UTF-8") @ResponseBody public String getProjectStatusList(HttpServletRequest request, HttpServletResponse response){ Map<String,Object> map = new HashMap<String,Object>(); try{ String callback = request.getParameter("callback"); //System.out.println("token:"+request.getHeader("token")); List<String> list = ss.getProjectStatusList(); map.put("status", "success"); map.put("data", list); ObjectMapper mapper = new ObjectMapper(); //这个拼接是重点。。。 String result = callback+"("+mapper.writeValueAsString(map)+")"; //String result = mapper.writeValueAsString(map); return result; }catch(Exception e){ JSONObject jo = new JSONObject(); jo.put("status", "fail"); jo.put("data", e.getMessage()); return jo.toString(); } }