2013-04-01 6 views
0

Я искал везде, но только не могу решить эту проблему: (? Без обратного вызова =)Неожиданный маркер при выполнении удаленного вызова JSon

Когда я скопировать содержимое файла JSON локально он работает

Однако, когда я делаю crossdomain вызов я получаю следующее сообщение об ошибке в консоли:

Uncaught SyntaxError: Unexpected token :

это мой код:

var url='http://www.motor-forum.nl/json.php?type=json&callback=?'; 
     $.getJSON(url,function(json){ 
      $.each(json.globals, function(i,data){ 
       $("#results").html(data.board_reactid); 
      }); 
     }); 

Надеюсь, кто-то может мне помочь здесь

+1

Опубликовать образец 'json', который вы получаете в ответ –

+0

@ Will.i.am ответ довольно большой: http://www.motor-forum.nl/json.php?type=json&callback=? – user2232351

ответ

1

Я только что попробовал ваш API - он не поддерживает JSONP. Получение информации с удаленных серверов не так просто, как переход &callback=? на URL-адреса - удаленному серверу необходимо открыто его поддерживать.

JSONP работает по междоменным ограничениям, загружая возврат в тег скрипта. Это означает, что объект должен оцениваться как скрипт. Для JSONP пользователь предоставляет имя обратного вызова в URL-адресе, а возвращаемый объект JSON затем завернут в вызов функции к нему (myCallBackName({object});).

+0

спасибо Sébastien! Есть ли другой способ сделать это? – user2232351

+0

Я уже много раз отвечал - http://stackoverflow.com/questions/15670082/getjson-parsererror-trying-to-call-api/15670216#15670216, являющийся одним из них. Если ваш хостинг-провайдер разрешает это, используйте директивы ProxyPass и ProxyPassReverse в Apache (или proxy_pass в nginx), чтобы отменить прокси-запрос и превратить его в локальный URL-адрес, где вы сможете использовать обычный ajax. Если вы не можете этого сделать, напишите разработчикам и попросите их поддержать jsonp. Если вы не можете этого сделать ... тогда вы набиты :-( –

Смежные вопросы