JQuery ajax jsonp
$.ajax({ method:"POST", url:"http://localhost:8081/ChenLei/PeopleServlet", data:{"userName":"zhangsan"}, dataType:"jsonp", jsonpCallback:"callback", //jsonpCallback是实现跨域请求的时候定义回调函数用的 ,可以随意起名字 success:function(data){ alert(data.code); alert(data.message); }, error:function(data){ }, complete:function(){ } })
后台如果是servlet
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println(request.getParameter("userName")); String callback = request.getParameter("callback"); response.getWriter().print(callback+"({"code":"200","message":"success!!"})");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response);
}
如果是Springmvc
import com.fasterxml.jackson.databind.util.JSONPObject;
@RequestMapping(value = "/chenlei/test/getuser", method = {RequestMethod.GET,RequestMethod.POST}) @ResponseBody public JSONPObject getUser(@RequestParam String userName, @RequestParam String callback){ Map<String, String> map = new HashMap<String, String>(); map.put("code", "200"); map.put("message", "success!!"); return new JSONPObject(callback, map);
}