我正在调用API来返回一些数据。我可以在开发工具中看到响应是200成功,在网络选项卡中可以看到返回的数据。
我的问题是在我的UI中显示数据。在这个阶段,我想做的就是在警报中显示返回的数据。
我尝试了以下方法,但警报没有触发。我在控制台中看不到任何错误,如果我手动访问PHP文件(替换GET变量),也没有错误。
jQuery
$.getJSON('fetch.php', { getFiat: fiat, getCoin: coin, getLimit: limit, getAggregate: aggregate, getCall: 4 }, function(data) {
alert(data);
}).fail(function (j, t, e) {
console.log(e);
});
PHP
if($_GET['getCall'] == 4) {
try {
callAPI();
$data = file_get_contents('https://min-api.cryptocompare.com/data/v2/histoday?fsym='.$_GET['getCoin'].'&tsym='.$_GET['getFiat'].'&limit='.$_GET['getLimit'].'&aggregate='.$_GET['getAggregate'].'&e=CCCAGG&api_key=[key]');
$json = json_decode($data);
if(isset($json->Response) != "Error") {
echo $data;
} else {
echo "Broken duh..";
}
}
//catch exception
catch(Exception $e) {
echo $e->getMessage();
}
}
API响应如下所示:https://min-api.cryptocompare.com/data/v2/histoday?fsym=BTC&tsym=USD&limit=30&aggregate=1&e=CCCAGG
检查返回true
或false
的isset
,然后检查true
或false
是否不等于"Error"
:
if(isset($json->Response) != "Error") {
如果是isset
,则返回true
,即==
到"Error"
。你需要两张分开的支票。根据错误返回的内容,可能是:
if(isset($json->Response) && $json->Response != "Error") {
或检查是否成功:
if(isset($json->Response) && $json->Response == "Success") {