我正在构建一个Express项目,使用Ejs作为视图引擎,并使用Ajax进行前端调用。
当我发布这样的请求时:
$.ajax({
type: 'POST',
data: {'nickname' : $('#nickname').val()},
contentType: 'application/x-www-form-urlencoded',
url: 'http://localhost:5000/create',
success: function(data) {
$('#message').text("Unkwon error");
},
error: function(data){
$('#message').text('Something went wrong, check connection!');
}
Ajax一直在等待我不愿给出的响应,因为我只想呈现如下视图:
app.post('/create', urlencodedParser, (req, res)=>{
let code = unique.generate(rooms);
res.render('chat', {'nickname' : req.body.nickname, 'code' : code}
有什么办法可以解决这个问题吗?
答案 0 :(得分:0)
经过研究,我找到了一种方法。
基本上,我可以告诉Ajax将从渲染发送的文档附加到html正文
$('body').html(data);
令人惊讶的是,这可以与Ejs动态代码一起使用。
我知道这不是最好的方法,但这是我到目前为止发现的唯一方法。
编辑1:
几个月后,我意识到解决方案很简单,只需使用javascript更改位置
window.location.replace(`http://localhost:5000/newRequest`);
现在,我可以在服务器上单独处理此新请求。