外部货币转换器api在angular app中未返回任何数据
在服务中,我试图获得转换。api调用结果为nothing。在浏览器网络中,它显示状态代码200,但是外部货币转换器api在angular app中未返回任何数据,angular,typescript,Angular,Typescript,在服务中,我试图获得转换。api调用结果为nothing。在浏览器网络中,它显示状态代码200,但是方法选项,而不是获取。CORS允许用于任何来源、方法和标题。 在这个选项之后应该有一个GET调用。但期权看涨期权可能是说不要看涨期权。我怎么知道发生了什么 我用的是角5。这是我的密码: getCurrencyWisePriceFromBDT(价格:数字,到货币:字符串):任意{ 让currencyConversionUrl=”https://free.currencyconverterapi.c
方法
选项,而不是获取。CORS允许用于任何来源、方法和标题。
在这个选项之后应该有一个GET调用。但期权看涨期权可能是说不要看涨期权。我怎么知道发生了什么
我用的是角5。这是我的密码:
getCurrencyWisePriceFromBDT(价格:数字,到货币:字符串):任意{
让currencyConversionUrl=”https://free.currencyconverterapi.com/api/v6/convert?q=BDT_";
currencyConversionUrl=currencyConversionUrl+toCurrency;
console.log(currencyConversionUrl);
让汇率保持不变;
this.http.get(currencyConversionUrl).subscribe(数据=>{
控制台日志(数据);
rateInNewCurrency=data.val;
console.log(rateInNewCurrency);
退货率新币*价格;
});
}
GetCurrencyWisePrice fromBDT(价格:数字,到货币:字符串):任意{
const currencyFormat=`BDT_${toCurrency}`;
恒电流转换=`https://free.currencyconverterapi.com/api/v6/convert?q=${currencyFormat}`;
console.log(currencyConversionUrl);
让汇率保持不变;
this.http.get(currencyConversionUrl).subscribe(数据=>{
控制台日志(数据);
rateInNewCurrency=data.results[currencyFormat].val;
console.log(rateInNewCurrency);
退货率新币*价格;
});
rateInNewCurrency
返回0.01193
如果您将50
和'USD'
传递到getCurrencyWisePriceFromBDT(50,'USD')
这就是您要找的吗?
如果是,则在订阅时,响应数据对象的格式如下。
data.results.BDR_USD.val
基于传递到URL的货币
无法复制:。(我只切换到https,以确保chrome不会因为混合内容而阻止请求(从https siackblitz url到http url的请求);您是在查看浏览器控制台中打印的内容,还是希望您的方法实际返回一些内容?我正在查看控制台和网络。此域中只有一个选项请求。没有GET。我已检查stackblitz。可能是我的应用程序的其他内容被阻止!!!??@jbnize问题已更新,请检查我们LH,消息说明了一切。您发送的请求带有授权标头,但该标头是不允许的。嗯,是的。使用白名单并仅在URL位于白名单时添加标头,或者使用黑名单并添加标头,除非URL位于黑名单中。在任何情况下,您都不得将此标头发送到该外部电流dy converter api。我肯定会使用白名单:将您的秘密授权令牌发送给第三方,第三方可以使用它来模拟您,这不是一个好主意。我的
GET
调用没有发生。它只显示飞行前方法选项和not GET方法。在chrome开发者控制台中,在网络选项卡检查xhr请求,并在其中选择free.currencyconverterapi.com或convert?BDT_USD,然后查看标题,以检查在发出get请求时设置了哪些所有标题。您的currencyFormat声明对我有所帮助。虽然通过在应用程序拦截器中添加url来解决了此问题,如果找到此url,则不添加授权。我很高兴它有帮助:)
getCurrencyWisePriceFromBDT(price: number, toCurrency: string): any {
const currencyFormat = `BDT_${toCurrency}`;
const currencyConversionUrl =`https://free.currencyconverterapi.com/api/v6/convert?q=${currencyFormat}`;
console.log(currencyConversionUrl);
let rateInNewCurrency;
this.http.get < any > (currencyConversionUrl).subscribe(data => {
console.log(data);
rateInNewCurrency = data.results[currencyFormat].val;
console.log(rateInNewCurrency);
return rateInNewCurrency * price;
});