NodeJS未定义的值

时间:2017-12-28 04:17:41

标签: string api undefined

我似乎无法使用字符串

 $.ajax({
              url: 'http://127.0.0.1:8000/post/',
              data: data,
              type: "POST",
              dataType: 'json',
              success: function(e) {
              if (e.status)
              {
                alert("Success")
                vm.pid=e.pid;
                console.log(vm.pid);

            }
              else {
                vm.response = e;

               alert("Failed") 
              }
          }
            });

返回正确的值,

binance.prices(function(ticker) {
    console.log("prices()", ticker);
    console.log("Price of BNB: ", ticker.BNBBTC);
});

返回undefined。我已经四处询问,但未能得到任何帮助。

2 个答案:

答案 0 :(得分:1)

使用ticker[tickerName]来解决我的问题!谢谢你的帮助:)

答案 1 :(得分:0)

当然你无法改变它。 它们是两个不同的东西

1)var tickerName =“BNBBTC”;

这意味着您的变量tickerName值是一个字符串,等于“BNBBTC” 所以ticker.tickerName将不等于ticker.BNBBTC(我将在下面解释)

这就是为什么它返回undefined因为Node试图找到ticker.tickerName,这意味着Node试图从ticker中找到tickerName属性。您定义的tickerName是变量,而不是股票代码的属性

2)ticker.BNBBTC是一个已经有值的变量。请记住,BNBBTC的部分不是值,也不是字符串。但它是自动收报机的一个属性。

看看差异,其中一个是字符串,其中一个是自动收报机的属性。

如果你想做类似的事情,也许你可以通过使用:

来接近它
binance.prices(function(ticker) {
    var tickerName = ticker.BNBBTC; 
    console.log("prices()", ticker);
    console.log("Price of BNB: ", tickerName);
});

快乐的编码!

Addtional: 如果你坚持想要使用ticker.tickerName,你可以使用这段代码:

binance.prices(function(ticker) {
    var ticker.tickerName = ticker.BNBBTC; #I change this part
    console.log("prices()", ticker);
    console.log("Price of BNB: ", ticker.tickerName); #I change this part
});