Javascript 如何从Pug文件中的ajax请求访问变量
我正在用“快车”和帕格练习一些东西。我向一个网站提出请求,得到了一些信息;这些信息在一个数组中,但由于这些信息可能会发生变化,我试图用帕格对其进行迭代,但我不确定如何在帕格文件之外获取该变量;我得到错误,指出我没有以正确的方式声明变量;错误,如“…未定义”等。如果我试图在express文件中声明它,它也不起作用,因此我不知道是否应该在express中声明它,以便Pug文件可以访问它或其他内容。我不知道该怎么做 哈巴狗文件Javascript 如何从Pug文件中的ajax请求访问变量,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在用“快车”和帕格练习一些东西。我向一个网站提出请求,得到了一些信息;这些信息在一个数组中,但由于这些信息可能会发生变化,我试图用帕格对其进行迭代,但我不确定如何在帕格文件之外获取该变量;我得到错误,指出我没有以正确的方式声明变量;错误,如“…未定义”等。如果我试图在express文件中声明它,它也不起作用,因此我不知道是否应该在express中声明它,以便Pug文件可以访问它或其他内容。我不知道该怎么做 哈巴狗文件 div#information table
div#information
table
tr
th Health
th Defense
th Speed
tr
each val in // (What goes here?)
td= val
带有Ajax请求的js文件中的数组名为statar
Express
var express = require('express');
var router = express.Router();
var request = require('request');
/* GET home page. */
router.get("/", (req, res) => {
res.render('index');
});
router.post("/", (req, res) => {
res.send(req.body)
})
module.exports = router;
如果需要更多信息,请让我知道。类似于此的服务器示例
var express = require('express');
var router = express.Router();
var request = require('request');
router.get("/", (req, res) => {
request('yourURLWhereYouGetData', function (error, res, body) {
if (!error && res.statusCode == 200) {
var statArr = body.statArr;
res.render('index', { statArr });
}
})
});
router.post("/", (req, res) => {
res.send(req.body)
})
module.exports = router;
如果使用ajax在客户机上执行请求,则在请求完成后必须手动填写dom。如果在服务器上发出请求,可以通过在
res.render('index',{statar})中的模板名称之后传递数组,将数组传递给pug
模板。express还将res.locals
暴露到模板中,以便您也可以在那里设置它,并将其传递到您的pug模板;我认为在这种情况下它更适合我的需要。