欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

controller跨域接受json數據

錢瀠龍2年前9瀏覽0評論

Controller是MVC模式中的控制器,負責處理客戶端請求并將數據傳遞給Model層處理,并將處理結果返回給客戶端。在前后端分離的開發中,前端頁面通過ajax請求向Controller發送數據,Controller返回處理結果給前端,這就需要涉及到跨域操作。

為了解決跨域問題,需要在Controller類上加上@CrossOrigin注解,允許其他域名下的請求訪問該Controller。同時在方法上加上@RequestMapping注解,指定請求的路徑和請求方式。

@Controller
@CrossOrigin
@RequestMapping("/user")
public class UserController {
@RequestMapping(value = "/login", method = RequestMethod.POST)
@ResponseBody
public Maplogin(@RequestBody Mapdata) {
Mapmap = new HashMap<>();
String userName = data.get("username");
String password = data.get("password");
//TODO: 驗證用戶名和密碼是否匹配
map.put("message", "登錄成功");
return map;
}
}

上述代碼中,在UserController類上添加了@CrossOrigin注解,表示允許其他域名下的請求訪問該Controller,同時在login方法上添加了@RequestMapping注解,指定了請求的路徑和請求方式為POST。此外,在方法參數中使用@RequestBody注解映射請求體中的json數據,使用Map類型接收參數。

在前端頁面,通過ajax向Controller發送json數據,并接收處理結果。代碼如下:

$.ajax({
url: "http://localhost:8080/user/login",
data: JSON.stringify({
"username": "admin",
"password": "123456"
}),
type: "POST",
contentType: "application/json",
dataType: "json",
success: function (data) {
console.log(data);
},
error: function () {
console.log("請求失敗!");
}
});

在發送ajax請求時,需要設置請求的url、data和type屬性,其中url表示請求的路徑,data表示發送的json數據,type表示請求方式為POST。同時需要設置contentType為application/json,dataType為json,表示發送的數據類型和接收的數據類型為json格式。

總結來說,要實現Controller跨域接受json數據,需要在Controller類上添加@CrossOrigin注解,允許其他域名下的請求訪問該Controller;在方法上添加@RequestMapping注解,指定請求的路徑和請求方式;在方法參數中使用@RequestBody注解映射請求體中的json數據,使用Map類型接收參數;在前端頁面中發送ajax請求時,設置url、data、type、contentType和dataType屬性,實現跨域完成數據交互。