8080服务,前端js(使用jQuery,需要先引入):
$(document).ready(function(){
$.ajax({
url: "http://localhost:8082/json",
dataType: 'jsonp',
jsonp: "jsonpCallback",})
.done(function(res) {
console.log("success");
console.log(res);
})
.fail(function(res) {
console.log("error");
console.log(res);
});
})
另一服务后台Java代码(tomcat为8082端口):
@RequestMapping(value = "/json")
public Object test(HttpServletRequest request) {
Map<String,Object> obj = new HashMap<String,Object>();
obj.put("name", "xiaoqiang");
obj.put("age", 20);
String callback = request.getParameter("jsonpCallback");
System.out.println("请求参数:" + callback);
return callback + "(" + com.alibaba.fastjson.JSONObject.toJSON(obj) + ")";
}
前端Ajax也可以使用getJSON方法,如下:
$(document).ready(function(){
$.getJSON("http://localhost:8082/json?jsonpCallback=?",
function(data){
console.log("receive data: " + JSON.stringify(data))
});
})