我有一个简单的登录表单,该表单通过发布请求检查凭据。问题是它并非每次都起作用。以下是我用来检查凭据的代码:
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会相应地打印一条小消息
我在这里做错了什么?
结果是,在表单中具有按钮类型提交或输入类型提交会覆盖onSubmit属性。