Невозможно получить оценку KLOUT, чтобы показать, используя 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, чтобы показать, что я делаю неправильно?

Любая помощь будет отличной

2 ответа

Решение

Вы должны удалить эту строку кода после 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 блокировать, так как это будет легко и актуально при определении типа ответа (является нулевым или нет)

Не знаю, почему вы не просто используете 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>

Другие вопросы по тегам