服务端代码:主要是返回的时候,返回值要用callback包装一下
/**
* JSONP调用
*
* @param request
* @return
*/
@RequestMapping("/remote/jsonp")
public void remoteJsonp(HttpServletRequest request, HttpServletResponse response) throws IOException {
String jsonpCallback = request.getParameter("jsonpCallback");
String data=request.getParameter("data");
//todo something ActionResultEntity result = new ActionResultEntity();
//设置返回值
String returnValue = jsonpCallback + "(" + StringUtil.toJsonString(result) + ")";
response.getWriter().write(returnValue);
}
js调用代码:
$.ajax({
async: false,
type: "post",
url:"http://localhost:8080/main/remote/jsonp",
data: {
data: "test"
},
dataType: "jsonp",
jsonp: "jsonpCallback",
success: function (successJson) { },
error: function (errorJson,text,message) { } });