Ajax发布请求不一致,为什么?

问题描述 投票:2回答:1

我有一个简单的登录表单,该表单通过发布请求检查凭据。问题是它并非每次都起作用。以下是我用来检查凭据的代码:

function login() {
  alert('asdf');
  $.post("login",
         {
    email: document.getElementById('email').value,
    pwd: document.getElementById('pwd').value
  },
         function (data, status) {
    alert(status);
    window.location.replace("message.jsp?type=login" + data);
  });
}

我尝试过警报以调试问题,并注意到每次都会执行第一个警报,但post函数内部的警报不会每次都执行。而且,无论何时未执行状态警报,浏览器上的URL都将变为:

http://localhost:8080/project_name/index.jsp?email=my_email_address&password=my_password

请注意:我在发布请求中指定的参数名称是密码文本字段的密码,但此处是密码

我的登录表格:

<form onSubmit='login()'>
    <input id="email" type="email" placeholder="Email" name="email" required>
    <input id="pwd" type="password" placeholder="Password" name="password" required>
    <button type="submit"> Login </button>
</form>

如果登录成功,Servlet返回0或1,并且message.jsp会相应地打印一条小消息

我在这里做错了什么?

jquery ajax post servlets
1个回答
1
投票

结果是,在表单中具有按钮类型提交或输入类型提交会覆盖onSubmit属性。

© www.soinside.com 2019 - 2024. All rights reserved.