【发布时间】:2018-07-18 03:33:04
【问题描述】:
您好,我想通过我的代码解决这个问题。
所以这是我的带有节点 js 的服务器文件
//setup
var express = require("express");
var request = require("request");
var bodyParser = require("body-parser");
var app = express();
//make body-parser workin
app.use(bodyParser.urlencoded({extended: true}));
//help excluding ejs extension
app.set("view engine", "ejs");
//pointing express to look at public folders for css files.
app.use(express.static("public"));
//routing starts
//root directory
app.get("/", function(req, res){
res.render("home", { data : "" });
});
app.post("/results", function(req, res){
var mname = req.body.movieName;
var myear = req.body.movieYear;
var url = "http://www.omdbapi.com/?s="+mname+"&y="+myear+"&apikey=$$$$$$$$$$$$";
request(url, function(error, response, body){
if(!error && response.statusCode == 200){
var data = JSON.parse(body);
res.render("home", { data : data });
console.log(url);
}else{
console.log("ERRRORRRR WARNNNINNNNNNGG");
console.log(error);
}
});
这是我想要访问从 API 请求中检索到的 JSON 的 ejs 文件的一部分
<%= data["Search"][0] %>
但是,我收到这样的错误
================================================ ====================== 类型错误:/home/ubuntu/workspace/MovieSearchApp/views/home.ejs:32
32|
Cannot read property '0' of undefined
at eval (eval at compile (/home/ubuntu/workspace/MovieSearchApp node_modules/ejs/lib/ejs.js:549:12), <anonymous>:11:40)
etc
================================================ ======================
所以我假设我访问 JSON 的方式有些错误,所以我详细查看了我的 JSON
然后我回到我的 ejs 文件并尝试了
<%= data["Search"] %>
它没有给我任何错误并显示为
[object Object]
有人可以指导我如何正确访问这个 JSON 吗?
提前感谢您的时间和帮助
【问题讨论】:
标签: javascript json node.js ejs