powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / jQuery - ajaxSubmit и возврат статуса
12 сообщений из 12, страница 1 из 1
jQuery - ajaxSubmit и возврат статуса
    #38159962
urukhay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет. Есть форма, которая отправляется на сервер с помощью библиотеки jQuery.form.js и метода ajaxSubmit(). Там происходят некие действия. Результат их - или сообщение об ошибке или сообщение об успешности операции. Вопрос: можно ли в success аякссабмита как-то дополнительно передать статус (success/error), чтобы в зависимости от него сделать то или иное. Мне нужно в success понять, чем закончилась операция на сервере. В data возвращается html сообщения.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
$('my_form').ajaxSubmit({
url: some_url,
success: function(data){ 
// --- Как сюда передать этот статус:
if(status === 'success') $("#some_div").hide();
else $('#some_div').show();
}
})



Можно конечно извратиться, и сделать поиск по data нужного класса, например class_success. Если в data есть элементы с таким классом, значит все ок, если нет - значит ошибка. Но это решение - часный случай, а мне хотелось бы понять общий принцип, как в success понять чем закончилась операция на сервере.

Всем заранее спасибо!
...
Рейтинг: 0 / 0
jQuery - ajaxSubmit и возврат статуса
    #38160014
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
urukhay,

Код: php
1.
2.
3.
$success['html'] = $yourHtml;
$success['status'] = $yourStatus;
echo json_encode($success);



Получишь ответ в формате JSON - дальше распарсил и хоть в космос запускай )))
...
Рейтинг: 0 / 0
jQuery - ajaxSubmit и возврат статуса
    #38160021
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
form.ajaxSubmit(options) полностью идентичен $.ajax(options), для которого сериализовали параметры (есть еще ряд параметров, связынных со спецификой отправки и с файлами, но в данном контексте это неинтересно).

1. У ajaxSubmit есть значение error, которое может как сообщить о проблеме передачи, так им можно и управлять, помещая ошибку в ответ. Соответственно, и обработать в зависимости от значения параметров.
2. Если все же обработка на сервере произошла и ответ об ошибке не системный, а программный и отдан обработчиком, то, в принципе, это должно решаться архитектурно: скажем, ответ должен предоставлять собой json как с параметром статуса, так и с данными. Иначе это напоминает поделку: если все правильно, используем ответ как носитель наших данных, если нет - как информатор об ошибке. Если все же хочется делать так и никак по-другому, то остается вариант с ошибкой: информируем об ошибке и обрабатываем в error.
...
Рейтинг: 0 / 0
jQuery - ajaxSubmit и возврат статуса
    #38160034
urukhay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikkiMouse,
Спасибо за совет :)

IDVsbruck,
Ошибка у меня как раз программная, поэтому, если я правильно понимаю, мне подходит вариант, предложенный MikkiMouse)

В общем всем спасибо большое!
...
Рейтинг: 0 / 0
jQuery - ajaxSubmit и возврат статуса
    #38160908
urukhay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати говоря, а как сие парсить? На выходе ведь строка получается, как я понимаю? Т.е. это не объект JSON? И парсить нужно как строку функциями работы со строками?
...
Рейтинг: 0 / 0
jQuery - ajaxSubmit и возврат статуса
    #38161263
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-твоему, если ответ от сервера приходит в параметре data, то это кусок DOM'а? К сожалению (или к счастью) в веде все есть строка (с). Как юзал раньше, так и юзай. Единственное, чтобы не было проблем с передачей, на сервере надо энкодить строку, на клиенте декодить. И в innerHTML. Или .html(), если это jQuery.
...
Рейтинг: 0 / 0
jQuery - ajaxSubmit и возврат статуса
    #38161376
urukhay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruck,
я Вас не совсем понял: что значит "как юзал раньше, так и юзай"? :) Раньше я просто выводил все, что пришло в див, без всяких енкодов/декодов. Но со временем понадобилось еще получить статус. Идею я понял вроде, на сервере нужно перед выводом все это преобразовать в json. Какие нужны еще дополнительные енкоды? И что с ним делать дальше: парсить как обычную строку, насколько я понял из последнего сообщения? Или строку, в которой хранится по сути json можно как-то преобразовать к объекту json?

Я был бы Вам благодарен, если бы Вы привели небольшой примерчик php скрипта и js, точнее их взаимодействие.
...
Рейтинг: 0 / 0
jQuery - ajaxSubmit и возврат статуса
    #38161377
urukhay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЕдинственное, чтобы не было проблем с передачей
Да, забыл спросить, а что за проблемы могут быть с передачей?
...
Рейтинг: 0 / 0
jQuery - ajaxSubmit и возврат статуса
    #38161378
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
urukhay,

От так от парсят . Находится в гугле за 5 сек. Но тебе видимо мил этот форум.
...
Рейтинг: 0 / 0
jQuery - ajaxSubmit и возврат статуса
    #38161387
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПэХаПэ я совершенно не приемлю, поэтому и приводить не буду.
Суть в том, что ранее ты получал в success(data) параметр data, в котором был кусок html-разметки. Так? И банально через div.html(data) вставлял в div. В принципе, ничего не поменялось: получаешь некий объект json: {status:"ok", dom:"<tag>...</tag>"} и все отличие сводится к тому, что разметка добавляется как div.html(json.dom).
Что касается кодирования и декодирования, то не исключено, что в разметке будут попадаться одинарные, двойные кавычки, возможно, еще какие-то некорректные для передачи знаки. Поэтому советую кодировать вставляемую в json разметку, а перед вставкой на клиенте ее декодировать.
...
Рейтинг: 0 / 0
jQuery - ajaxSubmit и возврат статуса
    #38161390
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
urukhayДа, забыл спросить, а что за проблемы могут быть с передачей?
Как раз то, о чем я сказал - обычно это проблема с кавычками.
...
Рейтинг: 0 / 0
jQuery - ajaxSubmit и возврат статуса
    #38161422
urukhay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikkiMouse,
форум мне этот мил. И гугл мил, и даже яндекс :) Просто бывает, когда просто не знаешь, как именно спросить поисковик. Вот поэтому пришлось спросить существ более разумных)) Спасибо за ссылку!

IDVsbruck,
А почему Вы не приемлите PHP?) Просто любопытно. А касательно примера - не суть, на каком языке он, суть в логике. Но сейчас, думаю, он уже не нужет, вроде все понятно.

В общем, большое спасибо всем!
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / jQuery - ajaxSubmit и возврат статуса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]