使用 AXIOS 进行电影搜索后,OMDb API 需要帮助获取 /results 页面

克里斯

这是我当前的 app.js 代码。我正在尝试创建一个电影搜索,它允许我在数据库中搜索电影,并带回该关键字内 10 部电影的结果。例如。如果我搜索“ALABAMA”,我应该会在数据库中收到带有 ALABAMA 字样的 10 部电影。但是,我无法继续前进,因为我一直在尝试同时使用 node.js、express.js 和 axios。以前我使用 Request 而不是 Axios,但因为它已被弃用,我选择使用 axios。我仍在学习,因为它有点棘手,但我只需要帮助尝试获得我的 /results。要加载的页面。我的 VIEWS 文件夹包含“results.ejs”和“search.ejs”。我正在使用来自http://omdbapi.com/的 OMDb API 任何反馈将不胜感激,我'

const express = require("express");
    const app = express();
    const axios = require("axios"); 
     
    app.set("view engine", "ejs");
    app.use(express.static(process.env.STATIC_DIR || "public"));
     
    app.get("/", function(req, res){
        res.render("search.ejs")
    })
    
    app.get("/results", (req, res) => {
        var searchTerm = req.query.search;
        var url = "https://www.omdbapi.com/?s=" + searchTerm + "&apikey=thewdb";
        axios.get('http://www.omdbapi.com/?i=tt3896198&apikey=thewdb')
        
        .then(response => {
            console.log(response.data.Search);
        res.render("results.ejs", {data: response.data.Search});
        })
        .catch(err => {
            console.log(err);
        })}) 
     
    app.listen(3000, () => {
        console.log("Movie App Has Started!!");
    })

我的 results.ejs 代码如下:

<h1>Results Page!!!</h1>
 
<% if (data == null) { %>
<p>No results. Please try refining your search terms.</p>
<% } else { %>
 
<ul>
    <% data["Search"].forEach(function(movie) { %>
    <li>
        <strong>
            <%= movie["Title"] %>
        </strong>
        - <%=movie["Year"]%>
    </li>
    <% }) %>
</ul>
 
<% } %>
 
<a href="/">Search Again!</a>

我的 search.ejs 代码如下:

<h1>
    Search For a Movie
</h1>

<form action="/results" method="GET">
    <input type="text" placeholder="search term" name="search">
    <input type="submit">
</form>

在此处输入图片说明

迪卢莎·戈纳加拉

您似乎正在传递一个硬编码的 URL 字符串,而不是带有搜索词的准备好的 URL 字符串。

改变这个

 var url = "https://www.omdbapi.com/?s=" + searchTerm + 
 "&apikey=thewdb";
axios.get('http://www.omdbapi.com/?i=tt3896198&apikey=thewdb')

对此

var url = "https://www.omdbapi.com/?s=" + searchTerm +"&apikey=thewdb";

axios.get(url)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用 axios 从所有 api 页面获取数据?

使用 axios 从多个页面获取数据

使用axios获取Web API

使用 axios 获取 API 失败

带Axios的Nuxt在页面加载时不会从API获取数据

如何使用从电影数据库获取的 API 生成的 NUXT 生成电影的 _id 页面

获取omdb api前100部电影?

使用Axios在Reactjs中从Api获取数据

使用Axios从API获取退货问题

如何使用 axios 获取 Weather 的 API 'forecastday'?

需要帮助使用JQuery更改页面标题

获取Web API帮助页面以使用自定义路由约束

使用FB API从Facebook页面获取帖子

使用 Axios 在页面加载时调用 3rd 方的 REST API

Web API帮助页面

需要使用从 Web api 获取的 DataTable 并将其显示在客户端的 aspx 页面中

我正在尝试使用输入字段中的文本并按下搜索按钮进行 OMDB API 调用

ReactJS:使用 AXIOS 进行 API 调用并在选择中使用

使用Axios使用node.js进行Face API

使用vue和axios从API数据中获取每个对象

React Redux Axios Api使用路径参数获取呼叫

如何使用axios从vuex中的API获取数据?

如何使用Axios从GitLab API获取所有数据?

如何使用nestjs httpservice(axios)获取嵌套的api数据

React / Axios:使用Coinmarketcap的密钥获取API数据

无法使用 ReactJs、Axios、Redux 渲染/显示从 api 获取的数据

需要使用Google Maps API的帮助

需要帮助使用 Scrapy 抓取此页面的内容

使用axios进行api调用后,值不会更新