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

为什么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 找一个QT页面+目标识别(行人检测)的开源项目
  • ¥15 有没有整苹果智能分拣线上图像数据
  • ¥20 有没有人会这个东西的
  • ¥15 cfx考虑调整“enforce system memory limit”参数的设置
  • ¥30 航迹分离,航迹增强,误差分析
  • ¥15 Chrome Manifest扩展引用Ajax-hook库拦截请求失败
  • ¥15 用Ros中的Topic通讯方式控制小乌龟的速度,走矩形;编写订阅器代码
  • ¥15 LLM accuracy检测
  • ¥15 pycharm添加远程解释器报错
  • ¥15 如何让子窗口鼠标滚动独立,不要传递消息给主窗口