gpt4 book ai didi

javascript - 未调用 Ajax 成功/错误但 POST 正在运行

转载 作者:行者123 更新时间:2023-11-30 20:37:35 25 4
gpt4 key购买 nike

所以,可能是重复的,但是阅读了一些答案,没有帮助...Node.js 项目、MongoDB、Jade 模板

Jade 中的 Ajax

script.
$('#add_cmt_btn').click(function (e) {
$.ajax({
type: 'POST',
url: '/comments/add',
data: $("#add_cmt_form").serialize(),
success: function () {
console.log('success');
$('#comment-text').val('');
$("#comments-block").load(location.href + " #comments-block>*", "");
},
error: function (err) {
console.log('error: ' + err);
}
});
})

和形式

form(method='POST', id='add_cmt_form')
div.row
div.col-sm-6
div.form-group-sm
label Add comment:
textarea.form-control(name='text', cols='50', rows='3')#comment-text
input(type='hidden', name='data_id', value=data.id)
input(type='hidden', name='data_type', value=data.type)
a.btn.btn-sm.btn-dark(id='add_cmt_btn', style='width:20%') Add

在 Node (Express route)中有一个功能,可以添加评论

router.post('/add', auth.ensureAuthenticated, function (req, res) {
req.checkBody('text', 'Text is required').notEmpty();
let errors = req.validationErrors();

if (errors) {
return console.log(errors);
} else {
let comment = new Comment();
comment.author = req.user.login;
comment.text = req.body.text;
comment.type = req.body.data_type;
comment.data_id = req.body.data_id;

comment.save(function (err) {
if (err) {
console.log(err)
}
});
}
});

当我单击添加到数据库的“添加”按钮评论时,但页面未刷新,需要使用 F5 更新以查看最后的评论。但是我没有看到任何登录控制台(没有错误,没有成功),textarea 的 val 没有被清空并且 div 没有被重新刷新。在这种情况下我做错了什么?

最佳答案

您没有结束请求。你不见了res.send() ;在您的快速路线上。

router.post('/add', auth.ensureAuthenticated, function (req, res) {
req.checkBody('text', 'Text is required').notEmpty();
let errors = req.validationErrors();

if (errors) {
console.log(errors);

return res.status(500).send('Something bad happened!');

} else {
let comment = new Comment();
comment.author = req.user.login;
comment.text = req.body.text;
comment.type = req.body.data_type;
comment.data_id = req.body.data_id;

comment.save(function (err) {
if (err) {
console.log(err);
return res.status(500).send(err.message)
}

res.send('saved');
});
}
});

关于javascript - 未调用 Ajax 成功/错误但 POST 正在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49651335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com