getJson для загрузки внешних данных и отображения их в виде строки

0

Учитывая JSON файл по адресу http://codio.io/hugolpz/Cat-is-smart/data/dict.json.

Учитывая, что я хочу загрузить его, чтобы отобразить его (возьмите мою руку и используйте его).

Таким образом, я использую:

$.getJSON( "http://codio.io/hugolpz/Cat-is-smart/data/dict.json", function( json ) {
  console.log("This step is fired."); // OR NOT !
  alert( "JSON Data: " + JSON.stringify(json) );
 });

или

$.ajax({
        url: "http://codio.io/hugolpz/Cat-is-smart/data/dict.json",
        dataType: 'json',
        success: function(json2) {
            alert( "JSON Data: " + JSON.stringify(json2) );
        }
});

Ни одна работа не работает даже при тестировании в одном домене.

Что я не так? Как это исправить.

http://jsfiddle.net/676V5/1/

  • 1
    Ваш файл JSON неверен. Удалите строки комментариев из файла json (строки комментариев не идентифицируются ссылкой json)
Теги:
getjson

4 ответа

1
Лучший ответ

Недействительный JSON. В будущем я предлагаю использовать такой инструмент, как JSONLint, это сэкономит вам массу хлопот!

  • 0
    именно это, добавление функции ошибки к вызову ajax покажет "parserError" в txtStatus
  • 0
    Черт возьми !!!! Комментарии ломают это! Большое спасибо. Начинающий, я потратил 4 часа на этот
1

Всегда проверяйте наличие ошибок... сначала это дает мне parseError fail; теперь он работает:

глава:

<script type='text/javascript'>
$(document).ready(function(){
    var request = $.ajax({
      url: "http://codio.io/hugolpz/Cat-is-smart/data/dict.json",
      type: "GET",
      dataType: "html"
    });

    request.done(function( msg ) {
      $( "#log" ).html( msg );
    });

    request.fail(function( jqXHR, textStatus ) {
      alert( "Request failed: " + textStatus );
    });
});
</script>

Тело:

<div id="log"></div>
1

Если вы используете $ (document).load, как показано ниже, вы можете получить данные json:

$(document).load( "http://codio.io/hugolpz/Cat-is-smart/data/dict.json", function( json ) 
{
     alert("finish"); // OR NOT !
     alert( "JSON Data: " + JSON.stringify(json) );
});
1

адрес, который вы вызываете, может не возвращать данные json. Он может быть в строчном формате. Попробуйте изменить "dataType" на "text" вместо "json"

Ещё вопросы

Сообщество Overcoder
Наверх
Меню