我在获取 Instagram API 的信息并将其发送到 Jade 以在前端呈现时遇到一些问题。
app.route("/api")
.get(function(req, res){
var url = "https://api.instagram.com/v1/users/1234/media/recent/?client_id=XXXX";
request(url, function(err, res, data){
console.log(JSON.parse(data));
// does this go here
res.render('show', {media : data});
});
// or here?
res.render('show', {media : data});
});
我正在尝试从此 API 路径收集 10 张图像并将它们发送到 Jade。我在终端中收到多个条目的解析响应。我很难弄清楚如何向 Jade 文件发送多个响应,然后让 Jade 文件循环遍历它们。
我确实知道 url
变量中的用户 ID 和客户端 ID 不正确。如果您有任何使用 request()
的替代方法,我也对此持开放态度。
最佳答案
所以我正在回答我自己的问题。渲染必须在 request() 函数内部。问题出在我的回调中。问题是我有“res”作为我的 .get 和 request() 回调的响应。当我将 request() 函数中的“res”更改为“response”时,我不再遇到任何问题。 Jade 文件也在下面
app.route("/api2")
.get(function(req, res){
var url = "https://api.instagram.com/v1/users/1234/media/recent/?client_id=XXXX";
request(url, function(err, response, body){
var dataGram = JSON.parse(body);
res.render('show', dataGram);
});
});
Jade 文件:
each thing in data
h1 id : #{thing.id}
img(src="#{thing.images.thumbnail.url}")
a(href="#{thing.link}" target="_blank") link
h3 filter : #{thing.filter}
关于node.js - 如何使用 Express JS 和 Jade 访问 instagram API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23224070/