【问题标题】:Can't get klout score to show using ajax无法使用 ajax 显示 klout 分数
【发布时间】:2017-04-18 12:03:06
【问题描述】:

我正在尝试在网页上显示 klout 分数

这是我的代码

       <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<script>
  var settings = {

    "url": "http://api.klout.com/v2/user.json/********/score?key=7fn6tcf3zvptq9sw47aknmjr&callback=?",
    "method": "GET",
    "dataType": "json",
    "headers": {}
  }

  $.ajax(settings).done(function (data) {
    console.log(data);
    $(data, function( inf ) {
       $("#score").append('<li>' + inf.score + '</li>');
     });

  });
</script>

<h2>Klout Score</h2>
<ul id="score"></ul>

我调用的json数据如下

{"score":10.0,"scoreDelta":{"dayChange":0.0,"weekChange":0.0,"monthChange":0.0},"bucket":"10-19","unscored":true}

我无法获得 klout 分数来显示我做错了什么?

任何帮助都会很棒

【问题讨论】:

    标签: jquery json ajax jsonp klout


    【解决方案1】:

    您必须删除console.log 之后的那行代码,因为它没有被执行并且append 不起作用。

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    
    <script>
      var settings = {
    
        "url": "http://api.klout.com/v2/user.json/233905743529873888/score?key=7fn6tcf3zvptq9sw47aknmjr&callback=?",
        "method": "GET",
        "dataType": "json",
        "headers": {}
      }
    
      $.ajax(settings).done(function (data) {
        console.log(data);
        if(data){  //response is not null or undefined
            $("#score").append('<li>' + data.score + '</li>');
        }else{
           alert('Empty response');
         }
    
    
      });
    </script>
    
    <h2>Klout Score</h2>
    <ul id="score"></ul>
    

    将append 包装到if-else 块中是一种安全的方法,因为它在确定响应类型(是否为空)时会很容易且相关

    【讨论】:

    • 谢谢你这对我有用,我明白你从哪里得到它非常感谢你的帮助
    • 能否请您加个赞并标记为已接受,以便其他人知道它确实有效。
    • 我对这两个答案都投了赞成票,并选择了最适合我的一个,iv 刚刚加入了 stackoverflow,所以没有公开投票,抱歉
    • 没问题,谢谢。如果您有任何与 jquery、javascript 或 AngularJS 相关的问题,您可以通过 ank9803@gmail.com 给我发邮件
    【解决方案2】:

    不知道为什么不直接使用返回的data。试试这个吧。

    var settings = {
    
        "url": "http://api.klout.com/v2/user.json/233905743529873888/score?key=7fn6tcf3zvptq9sw47aknmjr&callback=?",
        "method": "GET",
        "dataType": "json",
        "headers": {}
      }
    
      $.ajax(settings).done(function (data) {
        console.log(data);
        $("#score").append(
          $('<li/>').text(parseInt(data.score, 10))
        );
    
      });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <ul id="score"></ul>

    【讨论】:

    • 感谢您对我投赞成票的响应,代码有效,但我将上面的代码用作 ajax 和 json 的新手,并且更好地理解该响应,因为它更接近我的问题中的代码。谢谢你的帮助,我会研究你的答案并从中学习
    猜你喜欢
    • 2017-09-14
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-03
    • 1970-01-01
    • 2016-03-25
    • 2012-02-20
    相关资源
    最近更新 更多