【问题标题】:can't get object from node js server无法从节点 js 服务器获取对象
【发布时间】:2020-05-01 23:58:24
【问题描述】:

我尝试对特定 ID 做出 get 响应。 取而代之的是,我在控制台上得到 undefind ...

例如,如果我要浏览 => http://localhost:3005/api/books/1 我需要查看第 1 册的详细信息: { id:1,作者:“或”,价格:250 }

我能得到一些帮助吗?

const express = require("express");
const server = express();

const books = [
  { id: 1, author: "Or", price: 250 },
  { id: 240, author: "Shay", price: 100 },
  { id: 3, author: "Hila", price: 70 },
];

server.get("/api/books", (request, response) => {
  response.json(books);
});

server.get("/api/books/:id", (request, response) => {
  const id = +request.param.id;
  const oneBook = books.find((b) => b.id === id);
  console.log(oneBook);
  response.json(oneBook);
});

server.listen(3005, () => console.log("Listening on http://localhost:3005"));

【问题讨论】:

    标签: javascript arrays node.js api get


    【解决方案1】:

    你有一个错字。

    params,不是param

    【讨论】:

    • 工作中...谢谢!
    【解决方案2】:

    我提前道歉,我的英语水平很差,所以我无法解释你错在哪里,但这里是解决你问题的代码

    const express = require("express");
    const server = express();
    const books = [
      { id: 1, author: "Or", price: 250 },
      { id: 240, author: "Shay", price: 100 },
      { id: 3, author: "Hila", price: 70 },
    ];
    
    server.get("/api/books", (request, response) => {
      response.json(books);
    });
    
    server.get("/api/books/:id", (request, response) => {
      const { id } = request.params
      const oneBook = books.filter(
        item => item.id === (+id)
      )
      console.log(oneBook);
      response.json(oneBook);
    });
    
    server.listen(3005, () => console.log("Listening on http://localhost:3005"));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-09
      • 1970-01-01
      • 1970-01-01
      • 2021-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多