Basic Angular - 如何将json http响应加载到另一个json对象

时间:2016-12-14 01:02:50

标签: javascript angularjs json http currency-exchange-rates

我使用fixer.io和money.js转换货币。 money.js用于转换货币和fixer.io是一个获取最新汇率的api。我需要将最新的汇率加载到money.js汇率对象中。

因为我使用了角度,所以money.js的加载方式如下:

var fx = require("money");

为了转换工作,我们必须像这样定义fx.basefx.rates

fx.base = "USD";
fx.rates = {
    "EUR" : 0.745101, // eg. 1 USD === 0.745101 EUR
    "GBP" : 0.647710, // etc...
    "HKD" : 7.781919,
    "USD" : 1,        // always include the base rate (1:1)
    /* etc */
} 

但是,而不是将fx.rates的硬编码数据从GET请求填充到fixer.io API,它将返回此JSON: http://api.fixer.io/latest

我是一个角落的总菜鸟,所以我不明白如何将json响应加载到另一个json对象中。

做出类似事情的正确方法是什么:

var response = $http.get("http://api.fixer.io/latest");
fx.rates = response;

1 个答案:

答案 0 :(得分:2)

使用Angular中的http promise非常简单。要处理承诺,请使用.then方法。您只需要一个处理数据的回调函数。 :

var response = $http.get("http://api.fixer.io/latest");

//handle promise
response.then(function(response) {
  //this is response from the api fixer. The data is the body payload
  fx.rates = response.data;
}, function(error) {
  //handle error here, if there is any.
});

如果您需要,可以使用working plnkr