页面端写为:
后端写为:
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();
}
}