2015-04-25 4 views
0

У меня есть этот код:Традиционные JSONP: Uncaught SyntaxError: Неожиданный маркер:

<!DOCTYPE html> 
<html> 
<head> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> 
    <title>Test</title> 
    <script type="text/javascript" src="http://www.roblox.com/games/getgameinstancesjson?placeId=1818&startindex=0&jsonp=processResults"></script> 
    <script> 
     function parseResults(results) { 
      alert('success'); 
     } 
    </script> 
</head> 
<body> 
</body> 
</html> 

Когда я запускаю это, приходит с ошибкой: Uncaught SyntaxError: Неожиданный маркер:

Я смотрел это все, но все решения были с JQuery. Я не использую JQuery; Я использую «tranditional» JSONP.

Как исправить эту проблему?

Заранее спасибо.

+0

Вам нужно будет опубликовать содержимое ответа, потому что это проблема. – Pointy

+0

jsonp и jquery на самом деле не сопоставимы. –

+2

Вы уверены, что это 'parseResults()'. Ваш ответ JSONP - 'processResults()' –

ответ

0

Попробуйте открыть ссылку http://www.roblox.com/games/getgameinstancesjson?placeId=1818&startindex=0&jsonp=processResults в вашем браузере. Как вы можете видеть, он возвращает JSON, а не JSONP.

Для этой работы результат должен выглядеть следующим образом:

processResults({JSON COMES HERE}) 

вместо:

{JSON COMES HERE} 

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

Так что если сервер не поддерживает JSONP или CORS, возможно, вам придется написать сценарий на стороне сервера на своем собственном веб-сайте, который будет действовать как мост между вашим доменом и удаленным хостом, а затем отправить запрос AJAX на ваш собственный домен.

+0

Я не уверен, что вы подразумеваете под этим. Не могли бы вы предоставить полный код, чтобы исправить эту проблему? Заранее спасибо. –

+0

Невозможно устранить эту проблему у клиента. Это проблема с сервером. Сервер должен поддерживать JSONP. Пожалуйста, прочитайте о формате JSONP, который должен вернуть сервер: http://en.wikipedia.org/wiki/JSONP. Таким образом, в основном сервер должен обернуть полученный JSON в обратном вызове, который вы предоставляете. Если посмотреть на [Wiki of roblox.com] (http://wiki.roblox.com/index.php?title=Web_APIs), они, похоже, не поддерживают JSONP. –

+0

Как я могу убедиться, что сервер может обрабатывать JSON? Заранее спасибо. –

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