2015-08-05 2 views
0

У меня есть форма сообщения, которая должна работать как с javascript, так и без нее.Jquery ajax - игнорировать данные не-json в ответе

С js он woudl отправляет данные по ajax. PHP woudl будет возвращать информацию о состоянии (успех/отказ), закодированную в json.

Без js-формы работает как обычная форма, за исключением того, что ей нужны сообщения о статусе, возвращенные в виде открытого текста (без возможности разбора json в человеческую повторно используемую форму без js). Но если я попытаюсь вернуть данные json вместе с открытым текстом, я получу ошибку из-за установки dataType: 'json'.

Могу ли я просто игнорировать данные без json, если js отключен и отображается onli plaintext без js enabled?

+0

AJAX может работать с простой строкой в ​​качестве ответа; set 'dataType: 'text'', чтобы предотвратить jQuery от его анализа. –

+1

Лучшими решениями будут использовать отдельный URL-адрес сервера для двух разных действий (ajax или обычный пост). В противном случае вы можете использовать параметр POST для проверки разницы – Skarlinski

+0

Какой язык на стороне сервера вы используете? – Skarlinski

ответ

0

Хорошо, я действительно получил его. Я просто придерживался обнаружения на стороне php, если есть запрос ajax, в зависимости от того, что я возвращаю json или plaintext.

Я обнаружить Аякс по

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')) 
Смежные вопросы