ajax 415


ajax 發送post請求是出現415錯誤,是ajax的格式有問題,如下。

 1  $.ajax({
 2               type: 'POST',
 3               url: '/login',
 4               data: {
 5                      "username": username,
 6                      "password": password
 7                     },
 8               dataType: "json",
 9               success: function(res){
10                     alert(res);
11                 }
12             });

更正后:

 1         $.ajax({
 2               type: 'POST',
 3               url: '/login',
 4               data: {
 5                      "username": username,
 6                      "password": password
 7                     },
 8               dataType: "json",
 9               contentType:"application/json", 10               success: function(res){
11                     alert(res);
12                 }
13             });

 

就這樣改了之后,又來了400錯誤:

Could not read document: Unrecognized token 'username': was expecting ('true', 'false' or 'null');

當在后台使用@RequestBody來接收參數的時候,就需要在前端中ajax的參數格式為:

 1         var json = {
 2                 "username": username,
 3              "password": password
 4             }
 5         $.ajax({
 6               type: 'POST',
 7               url: '/login',
 8               data:JSON.stringify(json),
 9               dataType: "json",
10               contentType:"application/json",
11               success: function(res){
12                     alert(res);
13                 }
14             });
1 @RequestMapping(value="/login", method=RequestMethod.POST)
2     public void login(@RequestBody JSONObject json)
3     {
4         User user = json.getObject("data", User.class);
5         
6         // 1、創建 HttpClient 的實例
7         CloseableHttpClient httpClient = HttpClients.createDefault();
8         

要穿原生的格式的ajax的data,也不用在添加@RequestBody的注解了。需要對應着來。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM