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

为什么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日

悬赏问题

  • ¥15 关于#wireshark#的问题:并且能够给数据做标注,如这个流量是在看视频或者是在转账
  • ¥90 请问,这个视频播放软件的名称,用过的朋友请给答案,上方..avi是啥意思?是看短剧还是播放本地视频?
  • ¥15 运筹优化,gurobi,python
  • ¥15 基于python的电影系统推荐
  • ¥20 springmvc重定向和返回json
  • ¥15 数学建模——参会安排怎么做
  • ¥15 电脑键盘实现触摸功能
  • ¥25 matlab无法将表达式转换为双数组怎么解决?
  • ¥15 单片机汇编语言相关程序
  • ¥20 家用射频美容仪技术规格