【发布时间】:2016-01-02 19:09:36
【问题描述】:
我正在尝试从名为“script.js”的 js 文件中的“index.ejs”中进行简单的 AJAX 调用。但是,我不断收到错误消息。 POST http://localhost:3000/doLogin 404 (Not Found)
在 index.ejs 中:
<div id="login-page" data-role="page">
<div data-role="header">
<h1>Login</h1>
</div>
<div data-role="content">
<form id="login-form" action="/doLogin" method="post">
<input id="txtEmailLogin" type="email" placeholder="Email" required/>
<input id="txtPasswordLogin" type="password" placeholder="Password" required/>
<input type="submit" value="Log in"/>
</form>
</div>
</div>
在 script.js 中:
$(document).on('pageshow','#login-page', function() {
var frm = $('#login-form');
frm.submit(function(e) {
var email = $('#txtEmailLogin').val();
var password = $('#txtPasswordLogin').val();
$.ajax({
type : frm.attr('method'),
url : frm.attr('action'),
data : {
email : email,
password : password
},
success : function(check) {
if (check.status == 'success') {
alert('Welcome, '+ check.name +' !');
$('body').pagecontainer('change', '/profile');
}else {
alert('Fail to Login');
}
}
});
e.preventDefault();
});
});
有人可以帮我吗?
【问题讨论】:
-
404 表示没有 localhost:3000/doLogin - 如果您认为该路径应该可用,请向我们展示您的服务器端代码
-
如果您在浏览器选项卡中访问此网址会发生什么?
-
你能打开浏览器调试器并检查请求的确切发送位置吗?注意:当您提交时,它会为您解析上下文路径。但是在 jQuery 中,您直接发送到操作路径