Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.08.2016, 20:19
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

Протокол jsonp
Всем привет! Кто-нибудь на практике делал кроссдоменные-запросы на базе протокола jsonp? У меня никак не получается получить данные. От любого сайта приходит ошибка Uncaught SyntaxError: Unexpected token <
Реализация стандартная с колбэком без ошибок...
Ответить с цитированием
  #2 (permalink)  
Старый 25.08.2016, 23:29
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Как выглядит ответ сервера?
Должно быть что-то вроде "callback(data)"

Ты, может, с подходом на основе скрытого ифрейма перепутал? Угловая скобка наводит на такую мысль...
Ответить с цитированием
  #3 (permalink)  
Старый 26.08.2016, 00:43
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

Яростный Меч,
Наверное попутал. Возникла задача получить аналогичный responseText как это делается на домене, только на сторонний, создать html документ и вставить туда response. А мы ведь можем получить данные только в формате json.
Ответить с цитированием
  #4 (permalink)  
Старый 26.08.2016, 00:55
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Сообщение от Rasy
Протокол jsonp
нет такого протокола
Rasy,
напишите подробно, что хотите, потому как не все понятно
Сообщение от Rasy
А мы ведь можем получить данные только в формате json
в любом формате
Ответить с цитированием
  #5 (permalink)  
Старый 26.08.2016, 01:10
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

Poznakomlus,

получить в теле ответа страницу, только с другого домена
Ответить с цитированием
  #6 (permalink)  
Старый 26.08.2016, 01:40
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

если у вас нет возможности отработки запроса на другом домене и политикой сервера междоменные запросы (Access-Control-Allow-Origin) запрещены, то на клиенте никак только сервером остается
Ответить с цитированием
  #7 (permalink)  
Старый 26.08.2016, 02:02
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

Пока не могу поверить. Возможно меня не так поняли?)
Ответить с цитированием
  #8 (permalink)  
Старый 26.08.2016, 02:20
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Rasy
Возможно меня не так поняли?
Если на сервере включен отладчик или Апач выдает "оформленные сообщения" об ошибках, то вместо валидного json клиент получит html код, отсюда и ошибка.

var s = "<span>Error</span>";
try {
    console.log(JSON.parse(s))
} catch (e) {
    alert(e)
}


В отладчике то легко проверить что вернул сервер. Чтобы в примере s стало валидным json, тогда - '"<span>Error<\/span>"'.

А причина ответа ошибки уже озвучена.
Ответить с цитированием
  #9 (permalink)  
Старый 26.08.2016, 02:30
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

laimas,
Сообщение от laimas
то вместо валидного json
это к чему
формат json это частный случай ответа сервера
сервер может вернуть код который тут же исполнится без callback(ов)
и да это тоже будет jsonp
Ответить с цитированием
  #10 (permalink)  
Старый 26.08.2016, 02:43
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Poznakomlus
сервер может вернуть код который тут же исполнится без callback(ов)
Возможно, к тому и речь - либо ошибка "обернутая", либо код. Первое, значит не разрешен доступ, хотя браузер при этом должен был сообщить.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
метаобъектный протокол krutoy Общие вопросы Javascript 18 12.12.2014 18:12
Слишком долгий ajax jsonp запрос 1lider AJAX и COMET 2 05.07.2014 20:45
Утечки памяти при использовании JSONP в IE 9 evgkar AJAX и COMET 3 28.12.2011 19:40
JSON или JSONP для запросов на другой сервер? Метод GET, для длинных сообщений? Kotakota jQuery 5 23.08.2011 23:12
Ajax разбор метода mycoding jQuery 14 21.05.2010 10:57