не получает данные в Jquery.GetJSON - PullRequest
2 голосов
/ 26 августа 2011

У меня есть рабочий пример, который использует этот URL

http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=jQuery16201154390876987067_1314382298849&tags=cat&tagmode=any&format=json&_=1314382298856

, который дает мне этот результат JSON (это начало :):

jQuery162031768042474373037_1314374838725({
        "title": "Recent Uploads tagged cat",
        "link": "http://www.flickr.com/photos/tags/cat/",

Когда я вставляю это в jslint, он говорит, что это недопустимо json

теперь у меня есть собственный сервис json, который возвращает это:

{
    "one0": "file201101_01.jpg ",
    "one1": "file201101_02.jpg ",
    "one2": "file201101_03.jpg ",
    "one3": "file201101_04.jpg "
}

, который действителен в соответствии с jslint.

теперь первый (кажется, неверный) читается jquery.getJSON, а мой (который кажется действительным) - нет.

когда я смотрю в firebug, он «говорит», что контент не возвращается из моего сервиса, но показанный URL возвращает контент, когда я копирую и вставляю его в браузер.

Это мой код:

$.getJSON("http://jadieda.com/myservice.php",  
    {    year: "2011",
        id : "1"
    },
    function(data) 
    {    
        alert(data);

    });

предупреждение (данные) не сработало, поэтому я предположил, что вызов службы не вернул действительный json (из-за этого из справки: с jQuery 1.4, если файл JSON содержит синтаксическую ошибку запрос обычно молча завершается неудачей)

1 Ответ

1 голос
/ 26 августа 2011

Это JSONP , который является способом получения междоменного AJAX.

Я не знаю, почему ваш сервис не возвращает данные, не видя PHP. Но если код состояния 204, нет содержимого. Тогда, скорее всего, вы не echo/print какие-либо данные;

...