显示空白返回的jquery api调用

显示空白返回的jquery api调用,jquery,html,json,ajax,api,Jquery,Html,Json,Ajax,Api,加载页面后,我一直试图修改api调用以通过jquery加载,其他人已经帮了我的忙,但无法让它工作。它是用php加载的,我不确定语法是否正确 -查看ICO最近推出的交易小部件 <?php $args = array( 'include' => "47,54,62,56,50,64,65", 'max' => 10 ); if ( bp_has_groups( $args) ) : while ( bp_groups

加载页面后,我一直试图修改api调用以通过jquery加载,其他人已经帮了我的忙,但无法让它工作。它是用php加载的,我不确定语法是否正确

-查看ICO最近推出的交易小部件

<?php
    $args = array(
        'include' => "47,54,62,56,50,64,65",
        'max' => 10
    );
 if ( bp_has_groups( $args) ) :
        while ( bp_groups() ) : bp_the_group(); 
?>

<li>
    <?php
    $cmc_id = $setting['cmc_ticker'];
    $json_url = 'https://api.coinmarketcap.com/v2/ticker/'.$cmc_id.'/';
    ?>
<script>
$(document).ready(function() {
  $.ajax({
    url: '<?php echo $json_url ?>',
    dataType: 'json',
    success: function(data) {                                               
      let ico_roi = data.price;
      let div = document.createElement('div');
      $(div).html(ico_roi);
      console.log(ico_roi);
      $('#price-showing-after-page-load').html(div);
    }
  });
});
</script>
</li>

感谢包含数据的更新

问题很简单-
price
位于“data”->“quotes”->“USD”对象的子属性中。它向下三层,不是对象根的直接子对象。通过查看JSON的结构,您可以清楚地看到这一点。我假设当您在PHP中使用此代码时,您必须在结构中的同一位置访问“price”

这是一个有效的演示:

$(文档).ready(函数(){
$.ajax({
网址:'https://api.coinmarketcap.com/v2/ticker/1/',
数据类型:“json”,
成功:功能(响应){
$(“#页面加载后显示的价格”).html(response.data.quotes.USD.price);
}
});
});


那么,您会遇到什么错误/意外行为?你不能指望我们猜出问题的性质。你做了什么调试?嗨,我把它简化了,试图解决这个问题,第一个障碍是它没有打印数据。price,我不确定它的语法是否正确,我是通过php中的curl获取数据的,stackoverflow的其他人建议使用jquery来使用document.ready函数,但不确定它是否正确,不知道jquery如果语法错误,则会出现语法错误。你查过了吗?我想你没有。还有,
数据
是什么样子的?它肯定有
价格
属性吗?什么是
console.log(ico_roi)打印?这是您所期望的吗?另外,如果您不了解jquery,您可以使用本机JavaScript发出AJAX请求,如果您更熟悉的话。无论如何,这里有一个演示,它显示了如果a)您的AJAX调用成功,b)数据对象包含填充的price属性,代码的核心将正常工作,c)页面上有一个id为“页面加载后显示价格”的元素,该元素可见。我没有这些信息,所以这是我的假设。如果它对你不起作用,那么这些假设中的一个可能是不正确的。非常感谢,这是我两天来最接近让它起作用的一次。现在它显示了第一个
  • 的价格。尽管console.log显示它已经获得了所有价格,但其他的
  • 都不起作用。您有没有可能看一下?您所展示的代码示例中没有
  • ,也没有更新多个值的代码,因此我不知道问题的性质。不,对不起,我不会随便看一些网站。如果您有问题,请在问题中显示出来。另外,在站点修复很久之后,其他人将来也可以从中受益。不确定如何在JSFIDLE中复制它,因为每个li都有“ticker id”,它位于my local数据库中。再次感谢您,您可以为演示目的硬编码ID吗?就像你在已经解决
  • 问题的问题中所做的那样,函数(响应)需要一个唯一的id。再次感谢,我能给你买杯咖啡吗?
    {
        "data": {
            "id": 1, 
            "name": "Bitcoin", 
            "symbol": "BTC", 
            "website_slug": "bitcoin", 
            "rank": 1, 
            "circulating_supply": 17244475.0, 
            "total_supply": 17244475.0, 
            "max_supply": 21000000.0, 
            "quotes": {
                "USD": {
                    "price": 7185.30010797, 
                    "volume_24h": 4157028720.19653, 
                    "market_cap": 123906728079.0, 
                    "percent_change_1h": -0.06, 
                    "percent_change_24h": 2.22, 
                    "percent_change_7d": 6.79
                }
            }, 
            "last_updated": 1535841206
        }, 
        "metadata": {
            "timestamp": 1535840724, 
            "error": null
        }
    }