Проблема разбора jQuery JSON - PullRequest
1 голос
/ 19 мая 2011

Нужен совет о том, что я делаю неправильно во время синтаксического анализа JSON клиента ... Советы и комментарии приветствуют мой код ничего не возвращает.Отладчик также не показывает ничего полезного.

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){                   
        var htmlString = "test";
    $.getJSON("http://search.twitter.com/search.json?callback=functionName&q=%23csharp", functionName);

    function functionName(data) {

            $.each(data.items, function(i,item){
            htmlString += item.content + "<br>";
            });
            $('#test').html(htmlString);
        }

    });
</script>

</head>
<body>
<div id="test"></div>

Ответы [ 3 ]

6 голосов
/ 19 мая 2011

Не указывайте имя вашей функции обратного вызова.JQuery сделает это за вас.Функция, обрабатывающая запрос JSONP, специально разработана для того, чтобы позволить вам использовать вашу функцию как обычно и предоставлять другие полезные функции.

Вместо callback=?:

$.getJSON("http://search.twitter.com/search.json?callback=?&q=%23csharp", functionName);

Другая проблема заключается в следующем:

$.each(data.items, function(i,item){

Вы перебираете data.items.Этого не существует в ответе.Затем вы спрашиваете item.content.Этого тоже не существует.Я не знаю, для чего JSON вы разрабатываете свой код, потому что это не тот JSON, который отправляет твиттер.

1 голос
/ 19 мая 2011

Попробуйте сбросить обратный вызов в URL:

http://search.twitter.com/search.json?q=%23csharp

1 голос
/ 19 мая 2011

Вместо этого вы можете использовать метод $.ajax(), чтобы получить более детальную информацию о состоянии вашего запроса.

...