无法使用 ajax 显示 klout 分数

Can't get klout score to show using ajax

我正在尝试在网页上显示 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 分数来显示我做错了什么??

任何帮助都会很棒

不知道为什么不直接使用返回的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>

您必须删除 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 块中是一种安全的方法,因为它在确定响应类型(是否为 null)时既简单又相关