$ .getJSON возвращает ошибку при получении данных - PullRequest
0 голосов
/ 15 апреля 2011

Я пытаюсь получить данные из служб JSon, но у меня возникла проблема, и я не могу пройти через процесс отладки.

Я получаю данные из этих динамических служб: http://www.synergiescanada.org/json/otherpublicationbyid?synid=synergies:bcn.arbutus.215.3263Я проверяю результат с помощью этого инструмента http://jsonformatter.curiousconcept.com/, и он выглядит хорошо.

[
   {
      "name":"Dr. Andre Smith",
      "publications":[
         {
            "id":"synergies:bcn.arbutus.215.3264",
            "title":"Exploring death and dying through discourse",
            "uri":"http:\/\/journals.uvic.ca\/index.php\/arbutus\/article\/view\/3264",
            "date":"2010-10-18"
         }
      ]
   }
]

Но по-другому, когда я использую метод .getJSON из jquery, он терпит неудачу.

<script type="text/javascript"> 
$(document).ready(function() {
  $.getJSON("http://www.synergiescanada.org/json/otherpublicationbyid?synid=synergies:bcn.arbutus.215.3263" , 
    function(json) {
    alert(json);
  });
</script> 

Всплывающее предупреждение никогда не срабатывает, и, как я понимаю, getJSON молча завершается сбоем после некоторой ошибки, когда он получает мои данные JSON.

Я пытаюсь сделать отладку с помощью firebug. Я только что нашел это в консоли о заголовках

(извините, я могу добавить изображение, я новичок)

Response Headersview source
Date    Thu, 14 Apr 2011 20:24:49 GMT
X-Powered-By    PHP/5.3.5
Cache-Control   store, no-cache, must-revalidate, post-check=0, pre-check=0
Content-Disposition inline; filename=author.json
Last-Modified   Thu, 14 Apr 2011 20:24:49 GMT
Content-Type    application/json
Set-Cookie  SESS65d098c5115a6dff636c637d3c170001=c82ctlcfe0926dr45jrge1crf5; expires=Sat, 07-May-2011 23:58:09 GMT; path=/; domain=www.synergiescanada.org
Expires Sun, 19 Nov 1978 05:00:00 GMT
Connection  keep-alive, timeout=50, maxreq=60
Transfer-Encoding   chunked

Request Headersview source
Host    www.synergiescanada.org
User-Agent  Mozilla/5.0 (X11; U; Linux x86_64; en-CA; rv:1.9.2.16) Gecko/20110323 Ubuntu/10.10 (maverick) Firefox/3.6.16
Accept  application/json, text/javascript, */*; q=0.01
Accept-Language fr-ca,fr;q=0.8,en-ca;q=0.6,en-us;q=0.4,en;q=0.2
Accept-Encoding gzip,deflate
Accept-Charset  ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive  115
Connection  keep-alive
Referer http://localhost/test/ajax.html
Origin  http://localhost

То же самоедемо-страница запускает JSON api из flickr, и он совсем не жалуется, поэтому мне кажется, что я что-то здесь упускаю.Может быть, это очевидно.

Если кто-нибудь подскажет, я буду признателен.

1 Ответ

1 голос
/ 15 апреля 2011

Похоже на проблему межсайтового скриптинга - вы пытаетесь получить данные от localhost внешнего сайта. Обходным путем может быть использование PHP в качестве «прокси». См .: http://jquery -howto.blogspot.com / 2009/04 / cross-domain-ajax-querying-with-jquery.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...