ajax 415

自闭症网瘾萝莉.ら 提交于 2020-12-05 05:22:04

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的注解了。需要对应着来。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!