javascript - 从 api 访问数据
问题描述
这是我第一次尝试从 API 访问数据到前端。我正在使用 PHP/ajax,但我不知道如何将前端 (html) 上显示的数据获取到我的网页。
因此,当我选择模式时,我希望从 OpenExchangeRate 获取的货币信息出现在我的“货币”标题旁边。
$('#ratesBtn').click(function() {
$.ajax({
url: "php/OpenExchangeRates.php",
type: 'POST',
dataType: 'json',
data: {
rates: $('#Crency').val(),
},
success: function(result) {
console.log(JSON.stringify(result));
if (result.status.name == "ok") {
$('#Crency').html(result['data'][0]['rates']);
}
},
error: function(jqXHR, textStatus, errorThrown) {
// your error code
console.log(errorThrown);
}
});
});
<?php
// remove for production
ini_set('display_errors', 'On');
error_reporting(E_ALL);
$executionStartTime = microtime(true);
$app_id = 'NOT SHOWING FOR SECURITY REASONS';
$url='https://openexchangerates.org/api/latest.json?app_id=' . $app_id;
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,$url);
$result=curl_exec($ch);
curl_close($ch);
$decode = json_decode($result,true);
$output['status']['code'] = "200";
$output['status']['name'] = "ok";
$output['status']['description'] = "success";
$output['status']['returnedIn'] = intval((microtime(true) - $executionStartTime) * 1000) . " ms";
$output['data'] = $decode['rates'];
header('Content-Type: application/json; charset=UTF-8');
echo json_encode($output);
?>
<div class="modal" id="myModal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Information</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<h5>Country:</h5><p id="Countryname"></p>
<h5>Capital City:</h5><p id="capCity"></p>
<h5>Weather:</h5><p id="Wther"></p>
<h5>Currency:</h5><p id="Crency"></p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
解决方案
推荐阅读
- r - 错误:颜色编码为数字必须为正
- centos7 - Errno 14 HTTPS 错误 500 - 尝试下载包时出现内部服务器错误
- awk - 使用 sed(或 awk 或 tr)将换行符 \n 替换为表达式
- dynamic-library - 将静态库转换为动态库后,有什么方法可以避免对函数的未定义引用
- javascript - 如何使输入字段接受 Typescript 中的数字类型?
- c# - c# - 在 .dll 中隐藏连接
- cypress - 如何在 cypress-file-upload 中设置另一个文件夹
- ansible - 以 MiB / GiB 为单位的 Ansible stat 模块目录大小输出。如何转换输出?
- sql - 有没有办法在不注册 Flutter 的情况下保存用户的数据?
- caching - 如何强制服务人员重新加载或注销?