我在其他帖子中看到如何通过在提交覆盖方法中返回false来阻止AJAX调用的重定向,但这并不适用于express。在提交数据后,我无法弄清楚如何呈现重定向。以下代码正确执行,但重定向到init。
app.post('/init', routes.init(db));
exports.init = function(db){
return function(req, res) {
var name = req.body.name;
var track = req.body.track;
var collection = db.get('configs');
collection.insert({
"name": name,
"track": track
}, function (err, doc) {
if (err) {
res.send("Error occurred adding config to db");
}
else {
res.send(200);
}
});
};
};
script(type='text/javascript').
$(document).ready(function() {
$('#formInit').submit(function() {
$.post('/init',
{ name : $(this).name.value,
track : $(this).track.value
}
);
return false;
});
});
....
block content
#control-panel
form#formInit(name='init', action="/init", method="post")
input#inputEventName(type="text", name="name", placeholder="name")
input#inputHashtag(type="text", name="track", placeholder="track")
button#buttonSubmit(type="submit") submit
答案 0 :(得分:1)
$('formInit').on('submit', function(e) {
e.preventDefault();
删除返回false;您也没有在选择器中指定类或ID。更改了事件绑定以使用.on方法。
希望这有帮助。