zoukankan      html  css  js  c++  java
  • 解决ajax请求(SpringMVC后台)响应415/400/405错误

    解决ajax请求(SpringMVC后台)响应415/400/405错误

    后端代码

    • bean

      
       public class user {
      
           private String username;
      
           private String password;
      
           private Integer age;
      
       //省略get set
      
      }
      
    • SpringMVC

      
         	@RequestMapping(value = "testMethod",method = RequestMethod.POST)
                
           @ResponseBody
          
          public String getUser(@RequestBody user u){
          
              System.out.println(u);
      
                  return "success";
          }
      
      

    415错误

    没有设置 contentType: "application/json"

    • ajax

      $.ajax({
      
          url:baseurl+"test/testMethod",
         
           type:"POST",
      
          data:JSON.stringify({
      
              "username":"user666",
      
              "password":"a123456",
      
              "age":19
      
          }),
          success:function (res) {
      
              console.log(res);
      
          },
      
              error:function () {
      
              console.log("网络错误");
      
              }
      
          })
      
    • 原因

      
      //没有设置contentType: "application/json",
      
      //更正之后
      
      $.ajax({
      
          url:baseurl+"test/testMethod",
      
          type:"POST",
      
      	contentType: "application/json",
      
          data:JSON.stringify({
      
              "username":"user666",
      
              "password":"a123456",
      
              "age":19
      
          }),
      
          success:function (res) {
      
              console.log(res);
      
          },
      
          error:function () {
      
              console.log("网络错误");
      
          }
      
      })
      
      

    400错误

    没有对传输的内容进行格式化 JSON.stringify(jsonobj)

    • ajax

      
      $.ajax({
      
          url:baseurl+"test/testMethod",
      
          type:"POST",
      
      	contentType: "application/json",
      
          data:{
      
              "username":"user666",
      
              "password":"a123456",
      
              "age":19
      
          },
      
          success:function (res) {
      
              console.log(res);
      
          },
      
          error:function () {
      
              console.log("网络错误");
      
          }
      
      })
      
    • 原因

      
      //没有对传输的数据进行转换为JSON字符串JSON.stringify(jsonobj)
      
      //更正之后
      $.ajax({
      
          url:baseurl+"test/testMethod",
      
          type:"POST",
      
      	contentType: "application/json",
      
          data:JSON.stringify({
      
              "username":"user666",
      
              "password":"a123456",
      
              "age":19
      
          }),
      
          success:function (res) {
      
              console.log(res);
      
          },
      
          error:function () {
      
              console.log("网络错误");
      
          }
      
      })
      

    405错误

    通常是type 请求类型设置与后端所限制的请求不一致

    • ajax

      
      $.ajax({
      
          url:baseurl+"test/testMethod",
      
          type:"GET",
      
      	contentType: "application/json",
      
          data:JSON.stringify({
      
              "username":"user666",
      
              "password":"a123456",
      
              "age":19
      
          }),
      
          success:function (res) {
      
              console.log(res);
      
          },
      
          error:function () {
              console.log("网络错误");
      
          }
      
          })
      
      
    • 原因

      
      //请求类型与后端设置的不一致 正确应为 type:"POST"
      
      //更正之后
      
      $.ajax({
      
          url:baseurl+"test/testMethod",
      
          type:"POST",
      
      	contentType: "application/json",
      
          data:JSON.stringify({
      
              "username":"user666",
      
              "password":"a123456",
      
              "age":19
      
          }),
      
          success:function (res) {
      
              console.log(res);
      
          },
      
          error:function () {
      
              console.log("网络错误");
      
          }
      
      })
      
      
  • 相关阅读:
    【转】请说出三种减少页面加载时间的方法。
    【转】Web前端性能优化——如何提高页面加载速度
    【转】数据分析sql常用整理
    【转】消息中间件系列之简单介绍
    Could not load file or assembly 'System.Core, Version=2.0.5.0 和autofac冲突的问题
    云主机与传统主机性能对比表
    真假云主机,VPS资料集合
    将网站部署到windows2003 iis6之后,出现asp.net程序页面无法访问情况
    想当然是编程最大的坑,记更新删除过期cookie无效有感
    FlashBuilder(FB/eclipse) 打开多个无效
  • 原文地址:https://www.cnblogs.com/roseAT/p/10634289.html
Copyright © 2011-2022 走看看