【问题标题】:Send a variable from my server to my client将变量从我的服务器发送到我的客户端
【发布时间】:2019-04-02 07:48:07
【问题描述】:

当我 console.log(response.data) 它是未定义的。这是为什么呢?

我已经尝试过 res.send 和 res.json 但它们都只是返回 undefined...

我应该在客户端或服务器中更改某些内容

服务器端

//server js file
app.get("/updateCart", (req, res) => {
    //get items from cart
    dataServiceAuth.findUser("joe")
    .then((user) => {
      res.json(user[0]); //I know user[0] has a value I console.log it to the screen
    })
    .catch((err) => {
      console.log("ERROR. Can't find user")
    });
});

客户端

//client file
$("document").ready(function () {
fetch("/updateCart", {method: "GET"}).then(response => {
    console.log(response.data);
  });
});

【问题讨论】:

    标签: javascript html node.js get


    【解决方案1】:
    app.get('/getItems' (req, res) => {
        let x = [5, 4, 3, 2, 1];
        res.send(x)
    })
    

    app.get('/getItems' (req, res) => {
        let x = [5, 4, 3, 2, 1];
        res.json(x)
    })
    

    客户端.js

    var myItems;
    fetch("/getItems", method: "GET").then(response => {
      myItems = response.data;
    });
    

    【讨论】:

    • myItems 变量未定义。你知道这是为什么吗?我尝试了 res.send 和 json。我什至尝试打印 response.data 并且那也是未定义的
    • 因为您的数据不是有效的 json。 objects 应该总是有键和值。您可以尝试更改您的x = [5, 4, 3, 2, 1];
    • 我更改了它,但它仍然未定义。真的,我正在从我的数据库中拨打电话,我正在尝试发回一个“用户”对象。我只是以 x=[1,2,3] 为例,所以它更短更容易让人阅读
    • 如果 api 返回任何内容,请检查开发控制台中的网络选项卡。如果不是,那么服务器端有问题。
    • 我检查过了,一切都很好。我重新发布了我的问题,这就是我正在使用的确切代码。看起来有什么问题吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-25
    • 1970-01-01
    • 2020-06-09
    • 2021-02-15
    • 1970-01-01
    相关资源
    最近更新 更多