跨域

chaoshang8發表於2024-07-05

在瀏覽器上傳送 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");
}

相關文章