У меня есть сайт results.e js, на котором я пытаюсь получить результаты обратного вызова API. В e js у меня есть следующее:
<h1>Results Page!!</h1>
<%data["result"].forEach(function(data){%>
<li><%= data["address"]%></li>
<% }) %>
Здесь значение должно быть взято из приложения. js, которое включает в себя ключ API, который работает только при разборе тела et c :
var express = require("express");
var app = express();
var request = require("request");
app.set("view engine", "ejs");
var KEY = process.env.token;
var menuSearch = {
method: "GET",
url: "https://us-restaurant-menus.p.rapidapi.com/restaurants/zip_code/61603",
// url: "https://us-restaurant-menus.p.rapidapi.com/restaurants/search/portillos",
qs: { page: "1" },
headers: {
"X-RapidAPI-Key": KEY,
"X-RapidAPI-Host": "us-restaurant-menus.p.rapidapi.com"
}
};
app.get("/results", function(req, res) {
request(menuSearch, function(error, response, body) {
// console.log(body);
if (!error && response.statusCode == 200) {
var data = JSON.parse(body);
// res.send(data)
// res.send(data["result"]["data"][0]["address"]["city"])
res.render("results", { data: data });
}
});
// res.send("Hello, it works!");
});
var port = process.env.PORT || 3000;
app.listen(port, process.env.IP, function() {
console.log("running on port: " + port);
});
теперь, в конце концов, вывод дает мне:
1| <h1>Results Page!!</h1>
2|
>> 3| <%data["result"].forEach(function(data){%>
4| <li><%= data["address"]%></li>
5| <% }) %>
6|
data.result.forEach is not a function...
Может кто-нибудь сообщить мне, где он отключен?
Я думаю, ключ должен быть в самом URL, хотя ключ уже находится в заголовке. Я не слишком уверен.