Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.05.2016, 17:13
Аспирант
Отправить личное сообщение для winch Посмотреть профиль Найти все сообщения от winch
 
Регистрация: 30.04.2015
Сообщений: 87

автоматическое определение json или html в ответе ajax
использую примерно такую конструкцию:
$.ajax({ url: '….',
dataType: 'json|html',
success: function(dat, status){..... },
});
если dataType указан, как json, то при при приеме html возникает ошибка и функция success не вызывается.
а если dataType:'html', то в случае приема json, он закодирован.
а можно как-то сказать jquery автоматически определять тип ответа?
Ответить с цитированием
  #2 (permalink)  
Старый 16.05.2016, 17:30
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

winch, jquery итак автоматически определяет тип ответа, если явно не указан dataType. Убери dataType.
Ответить с цитированием
  #3 (permalink)  
Старый 16.05.2016, 18:05
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от winch
а если dataType:'html', то в случае приема json, он закодирован.
а можно как-то сказать jquery автоматически определять тип ответа?
Лучше не полагаться на автоматическое определение типа JQ (без указания JQ типа в dataType), а передавать сервером заголовок соответствующий типу данных, это 100% гарантия отсутствия ошибок при приеме данных.
Ответить с цитированием
  #4 (permalink)  
Старый 16.05.2016, 20:02
Аспирант
Отправить личное сообщение для winch Посмотреть профиль Найти все сообщения от winch
 
Регистрация: 30.04.2015
Сообщений: 87

я пробовал до этого убирать dataType, она по умолчанию тогда контент воспринимает как html.
Ответить с цитированием
  #5 (permalink)  
Старый 16.05.2016, 20:04
Аспирант
Отправить личное сообщение для winch Посмотреть профиль Найти все сообщения от winch
 
Регистрация: 30.04.2015
Сообщений: 87

с принудительным указанием заголовка "Content-type: text/json" помогло.
Вопрос снят. спасибо.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как ускорить вставку html из ajax? jey7 AJAX и COMET 7 27.05.2012 11:02
кеширование HTML переданого через ajax BorisBritva jQuery 6 02.04.2011 01:23
Что выбрать XML или JSON для передачи Ajax - ом из PHP в JS Gozar Общие вопросы Javascript 20 16.08.2009 23:36
html или xhtml nemo (X)HTML/CSS 17 29.06.2009 10:05
Неверный результат в AJAX с получением HTML Raynor AJAX и COMET 3 17.12.2008 18:38