在浏览器上发送 ajax 请求,验证跨域的效果
1)打开谷歌浏览器,按 F12 进入调试模式
2)切换到 Console,粘贴以下 ajax 代码,按回车发送请求,请求失败,提示不允许跨域
$.ajax({
url:"http://localhost:8089/demo/test3",//发送的路径
type:"post",//发送的方式
data:'{"newsId":"5","type":"1","operation":"1"}',//发送的数据
contentType: "application/json", //提交数据类型
dataType:"json",//服务器返回的数据类型
success: function(data) {
if(data.msg="success"){
alert("已提交成功");
}else{
alert("提交失败");
}
},
error: function (data){
alert("提交失败");
}
});
3)Controller 方法添加 @CrossOrigin(origins = "*") 注解,再次发送请求,请求成功,说明允许跨域的配置生效
4)Controller 方法的代码
@CrossOrigin(origins = "*")
@PostMapping("/test3")
public Object test3(@RequestBody JSONObject param) {
System.out.println(JSON.toJSONString(param));
return ImmutableMap.of("a", "c");
}