我正在使用Express构建网页。我的代码的基本细分如下:
app.use(express.static('public'));
app.use(bodyParser.urlencoded({ extended: true }));
app.set('view engine', 'ejs')
app.get('/', function (req, res) {
res.render('index', {weather: null, headlocation: null, lat: null, long: null, imgLinks: null, WebLinks: null, imgLinksFl: null, restLat: null, restLong: null, error: null});
})
// Main Page
app.post('/', function (req, res) {
city = req.body.city;
weatherSearch();
googleStuff();
filckrSearch();
zomatoStart();
res.render('index', {weather: weatherText, headlocation: headLocationText, lat: latLocation, long: longLocation, imgLinks: imageLinks, WebLinks: websiteLinks, imgLinksFl: imageLinksFlick, restLat: latitudeRest, restLong: longitudeRest, error: null});
});
当我加载页面时,我会输入搜索内容并重新加载页面。我的控制台显示app.post节中每个函数的输出均正常运行,但页面未更新。如果我尝试再进行2次,则该页面最终将使用第一次搜索的结果进行更新。例如,在我第一次搜索时,如果我键入“ Sydney”,则控制台将使用“ Sydney”中的正确结果进行更新,但页面不会更新。如果随后我再次搜索“珀斯”,则控制台将使用“珀斯”的正确结果进行更新,但页面不会更新。在第三个搜索中,如果键入“ Brisbane”,则控制台将使用来自“ Brisbane”的正确结果进行更新,然后该页面最终将使用来自“ Sydney”的第一次搜索的结果进行更新。有人可以解释出什么问题了吗?