Вы не можете использовать и res.send()
, и res.sendFile()
в одном и том же маршруте и методе, потому что каждый запрос имеет только один ответ, и каждый вызывается первым, это ваш ответ.
но вы можете использовать другой метод, сначала сделайте ajax post запрос в 'chat' и получите его 'rueckgabe' данные в обратном вызове, затем перейдите к вашему новому маршруту, например '/ chat? Data = кое-что'.например, измените свой код следующим образом: (для получения дополнительной информации о params )
server.post("/chat/:channel", (req, res) => {
let query = req.params;
console.log(query.channel);
let rueckgabe = {
channel: query.channel
};
res.json(JSON.stringify(rueckgabe));
});
server.get("/chat", (req, res) => {
res.sendFile('chat.html', { root: path.join(__dirname, 'public/') });
});
также вы можете использовать этот способ, но это странный подход, потому что теперь вы пропустите ваши rueckgabe
данные:
res.send(JSON.stringify(rueckgabe));
// "Warning:" use redirect after send is not routine and usual
res.redirect('/chat'); // redirect to chat with GET method
, поэтому нормально обрабатывать их на стороне клиента и делать новый запрос в ответном обратном вызове.