jquery - jQuery cookie 值作为 AJAX 响应变量
问题描述
我在 cookie 中存储了货币代码。这个值看起来像(欧元、美元、英镑、泰铢...)我向免费 API (exchangeratesapi.io) 发出 AJAX 请求,我想在其中将一定数量的泰铢(泰铢)转换为任何货币用户已在他的 cookie 中设置。
// Set currency cookie to GBP
$.cookie("Currency", "GBP");
// AJAX request to exchangeratesapi
$.ajax({
url: "https://api.exchangeratesapi.io/latest?base=THB",
dataType: 'json'
})
.done(function(data) {
// Set cookie value to var "tocur"
var tocur = $.cookie("Currency");
// Get exchange rate for GBP and store it in var "exchangerate"
var exchangerate = (data.rates.tocur);
// Amount of THB to be exchanged to GBP
var amount = 250;
// Result for THB amount * exchangerate
var sum = (amount * exchangerate);
// Insert result into HTML element, roundet to 2 decimals, replace "." with ","
$('#responsedata').html(amount + " THB = " + sum.toFixed(2).replace(".", ",") + " " + tocur);
})
.fail(function() {
alert( "Could not fetch exchange rates" );
});
只要我将变量“exchangerate”手动设置为(data.rates.GBP),这就可以正常工作。一旦我尝试将其设置为 (data.rates.tocur),我就会得到 NaN。
我错过了什么吗?如何让存储在 var "tocur" 中的 cookie 值在我的 var exchangerate 中工作?我需要以某种方式解析它吗?非常感谢您!
我也把它放在了一个 JS-Fiddle 中:这里
解决方案
推荐阅读
- c# - Xamarin.Essentials 共享可绘制对象
- java - 在 servlet 中将 InputStream 转换为 Json 的更好或更快的方法
- html - 如何在 TWebBrowser 中居中和拉伸/收缩 SVG 显示?
- flutter - Flutter 中未设置 PluginRegistrantCallback
- python - Python:按时间戳更新的 MongoDB 未按预期工作
- haproxy - HA 代理 - 在同一域 ACL 上同时使用 HTTP 和 HTTPS
- go - 使用 Micro.mu 启动微服务时出现权限错误
- angular - 使用tinymce(tinymce-angular)专注于textarea
- azure - 预期 application_type 是 [web other java MobileCenter phone store ios Node.JS] 之一,得到了 Web
- apache - 如何使用 apxs2 编译包含 sds 库的 apache 模块