服务一
http://localhost:8080/index
端口配置
server.port=8080
spring.mvc.view.suffix=.html
controller
@Controller
public class JsonpController {
@GetMapping("index")
public String index() {
System.out.println("进入首页!");
return "index";
}
}
html跨域请求
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="http://cdn.bootcss.com/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
function println(data) {
console.log(data);
if (data.result == 0) {
console.log("success");
}
if (data.result == 1) {
console.log("fail");
}
}
function jsonp_test() {
$.ajax({
type: "get",
url: "http://localhost:8086/test/jsonp",
dataType: "jsonp",
jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)
jsonpCallback: "println", //返回后调用的处理函数
error: function () { //请求出错的处理
alert("请求出错");
}
});
}
</script>
</head>
<body onload="jsonp_test()">
</body>
</html>
服务二
http://localhost:8086/test/jsonp
controller
@RestController
@RequestMapping("test")
public class TestController {
@RequestMapping("jsonp")
public String jsonp(@RequestParam("callback") String callback) {
System.out.println("jsonp");
return callback + "({'result':0})";
}
}
测试访问地址
http://localhost:8080/index