qq_40619811 2022-08-04 11:07 采纳率: 89.8%
浏览 117
已结题

为什么ajax没有将数据传到后端呢,导致后端为空值

你好,我现在在做一个登录页面,用ajax用post方法将数据传到后台,结果呢,发现,传过去的数据为空值,这是为什么呢?
这是前端ajax和js代码在页面login.html里,将数据传到login1。

var a= $("#username").val();
    var b=$("#passwords").val();
    var c=$("#yanzheng").val();
    console.log(a+"#"+b+"#"+c);
    $.ajax({
      type: 'post',
      url: './login1',
      async: true,
      error: '重新请求',
      contentType: "application/json;charset=utf-8",
      datatype: 'json',
      data: {
    "username":$("#userName").val(),"passwords":$("#password").val(),"yanzheng":$("#yanzheng").val(),
      },
      success: function (res) {

      },
      error: function (res) {

      }
    })
  })

这是html相关代码

<div style="width: 30%;height: 30%" id="log">
  <img src="/image/saturn.png" height="34%" width="34%"/>
  <form id="login" name="login" th:object="${pwd}" method="post"> <!--th:action="@{/loginyanzheng}"-->
    <label>用户名</label>
    <input type="text" id="username" name="username" style="font-size: 18px"></input><br>
    <label>密码</label>
    <input type="password" id="passwords" name="passwords" style="font-size: 18px;margin-left: 16px"></input><br>
    <label>验证码</label>
    <input type="text" id="yanzheng" name="yanzheng" style="font-size: 18px"></input><br>
    <div>
    <input type="button" id="sub" value="确认" style="font-size: 18px"></input>
    <input type="button" id="yz" value="验证码" style="font-size: 18px"></input>
    <input type="button" id="exit" value="退出" style="font-size: 18px"></input>
    </div>
  </form>
</div>


这是后端Controller代码。发现这里的username,passwords,yanzheng这三个值根本没有传过来,为空值。这是为什么呢?

@PostMapping("/login1")
    @CrossOrigin
    @ResponseBody
       public String loginresult(@RequestParam(value = "username",defaultValue = "")String username,
                                 @RequestParam(value = "passwords",defaultValue = "")String passwords,
                                 @RequestParam(value = "yanzheng",defaultValue = "")String yanzheng){
           System.out.println(username+"#"+passwords+"#"+yanzheng);
           return "success";
        }

我用的是SpringBoot+ajax。为什么ajax没把数据传到后端呢?这是为什么呢?

  • 写回答

3条回答 默认 最新

  • 鱼找水需要时间 Java领域优质创作者 2022-08-04 11:46
    关注

    data: JSON.stringify("") 需要传递json字符串不是json对象

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月12日
  • 已采纳回答 8月4日
  • 创建了问题 8月4日

悬赏问题

  • ¥20 请问这种量表怎么用spss量化分析(作为中介模型的因变量
  • ¥55 AD844 howland电流源如何驱动大额负载
  • ¥15 C++ /QT 内存权限的判断函数列举
  • ¥15 深度学习GFnet理解问题
  • ¥15 单细胞小提琴堆叠图代码
  • ¥50 升级strust2版本到2.3.15.1后使用ognl3.0.6.jar windows环境中没有问题,但部署到linux环境报错
  • ¥15 vue页面,node封装接口
  • ¥15 求TMS320F280039C工程模板!
  • ¥15 delphi+fastreport实现分组补空打印问题
  • ¥15 使用python把两台mysql数据库服务器数据导出和导入