Javascript 使用Ajax POST构建NodeJs Express路由器结构
我想在我的项目中使用快速路由器。我创建了我的Javascript 使用Ajax POST构建NodeJs Express路由器结构,javascript,node.js,ajax,Javascript,Node.js,Ajax,我想在我的项目中使用快速路由器。我创建了我的app.js(我的视图引擎是Handlebar) 然后前往我的router.js,在那里我处理所有路由文件 module.exports = function(app){ var router = require('express').Router(); app.use('/login', require('./routes/login')); app.use('/route2', require('./routes/rout
app.js
(我的视图引擎是Handlebar)
然后前往我的router.js
,在那里我处理所有路由文件
module.exports = function(app){
var router = require('express').Router();
app.use('/login', require('./routes/login'));
app.use('/route2', require('./routes/route2'));
app.use('/route3', require('./routes/route3'));
router.post('/logout', function (req, res) {
var session = req.session;
session.destroy();
res.send({});
});
};
我的登录路径处理两项任务:
- 路线本身
- Ajax调用“validateLogin”
function login() {
$.ajax({
type: 'POST',
url: 'validateLogin',
contentType: 'application/json',
data: JSON.stringify({
username: "Foo",
password: "Bar"
})
}).done(function (response) {
if (response.isValid) { // Redirect the user to the next page
$(location).attr('href', 'next page');
}
}).fail(function () {
});
}
此Ajax调用失败,因为找不到POST路由
邮政404(未找到)
甚至使用
url: '/validateLogin',
不起作用
有什么遗漏或错误?我的结构好吗
我从他那里得到了信息
假设所有其他设置都正确,根据您的代码设置,您想要访问的url实际上位于
/login/validateLogin
假设所有其他设置都正确,根据您的代码设置,您想要访问的url似乎实际位于/login/validateLogin
tryurl:“/validateLogin”,
no,不起作用tryurl:“/validateLogin”,“不起作用是的,我认为我的路径可能是相对的。我总是要写“/route/name”
?我不是100%确定,但这可能是Jquery-Ajax或express的一个特别的怪癖。这真的取决于几个因素,我建议调查一下。但是,试试/name
或/name
看看是否有效。是的,有效,我认为我的路径可能是相对的。我总是要写“/route/name”
?我不是100%确定,但这可能是Jquery-Ajax或express的一个特别的怪癖。这真的取决于几个因素,我建议调查一下。但是,请尝试/name
或。/name
,看看是否有效。
function login() {
$.ajax({
type: 'POST',
url: 'validateLogin',
contentType: 'application/json',
data: JSON.stringify({
username: "Foo",
password: "Bar"
})
}).done(function (response) {
if (response.isValid) { // Redirect the user to the next page
$(location).attr('href', 'next page');
}
}).fail(function () {
});
}
url: '/validateLogin',