Javascript 手柄拒绝更改节点渲染上的h1内部文本
我的后端是这样的Javascript 手柄拒绝更改节点渲染上的h1内部文本,javascript,html,node.js,express,handlebars.js,Javascript,Html,Node.js,Express,Handlebars.js,我的后端是这样的 app.get('/', function (req, res) { console.log(objectResponse.humidity); res.render('home',{umidade: objectResponse.humidity}); console.log('home'); }); app.post('/submit', function (req, res) { console.log("Aqui")
app.get('/', function (req, res) {
console.log(objectResponse.humidity);
res.render('home',{umidade: objectResponse.humidity});
console.log('home');
});
app.post('/submit', function (req, res) {
console.log("Aqui")
console.log(req.body);
axios.get("http://api.openweathermap.org/data/2.5/weather?q="+req.body.cidade+
"&units=metric&appid=" + process.env.API
+ "&lang=pt").then(response => {
objectResponse.humidity = response.data.main.humidity;
}).catch(err=>{
console.log(err);
}).finally(response=>{
console.log('finally')
res.redirect('/')
});
});
然后当axios请求返回结果时,我会将其重定向到主路由,该路由使用wheater API更新湿度值,但即使该值到达我的前端,在第一个请求中,当我更新它并再次调用API时,内部html值拒绝更改,我在DOM上尝试了所有可能的方法
<h1 class="umidade mb-4">{{{umidade}}}</h1> // This H1 refuses to change
console.log({{{umidade}}}) // This changes when redirecting
{{{umidade}}//此H1拒绝更改
console.log({{{umidade}}}})//重定向时会发生更改
保存时objectResponse.hydrome=response.data.main.hydrome代码>,objectResponse是否在任何会话中?在app.post(“/submit”)处理程序结束后,当您获得“/”路径时,您没有将objectResponse持久化以在下次调用中使用。我也尝试使用会话,但我认为问题在于html,因为数据实时到达前端,但当它再次呈现时,程序不会更新。请将此代码放入根服务器文件中(通常为app.js):global.objectResponse={湿度:null}
。然后,将控制器从objectResponse.weathy
更改为global.objectResponse.weathy
。如果不起作用,对不起!对不起,我以前没有问过,我很长时间都在写这个代码,哈哈哈。我使用socket.io将它更改为websocket,现在它工作正常,服务器之间的整个通信都正常了客户端更简单,通过这样做,我解决了一个未来的问题。