Русскоязычный форум, посвященный фреймворку Kohana http://forum.kohanaframework.su/ |
|
Вставка в БД при помощи Ajax не увенчалась успехом http://forum.kohanaframework.su/viewtopic.php?f=33&t=205 |
Страница 1 из 2 |
Автор: | androidos [ 02 июн 2012, 17:57 ] |
Заголовок сообщения: | Вставка в БД при помощи Ajax не увенчалась успехом |
Привет парни, Вообщем хочу сделать добавление в базу с аяксом, но данные не добавляются. Без Аякса - все работает. Нашел в инеие пример, делал по нему, но увы. JS код Код:
HTML Код:
PHP Код:
Помогите пожалуйста реализовать На названия полей не обращайте внимания, дело не в этом |
Автор: | admin [ 02 июн 2012, 18:21 ] |
Заголовок сообщения: | Re: Вставка в БД при помощи Ajax не увенчалась успехом |
Немного занят. У вас фаербаг стоит ? Там очень удобно отслеживать аякс запросы. |
Автор: | androidos [ 02 июн 2012, 18:28 ] |
Заголовок сообщения: | Re: Вставка в БД при помощи Ajax не увенчалась успехом |
Да, есть, пробую там тоже, но пока ничего не разобрать ((. |
Автор: | admin [ 02 июн 2012, 18:41 ] |
Заголовок сообщения: | Re: Вставка в БД при помощи Ajax не увенчалась успехом |
Исходники дадите, посмотрю. Нет времени создавать эти файлы. |
Автор: | androidos [ 02 июн 2012, 18:58 ] | ||
Заголовок сообщения: | Re: Вставка в БД при помощи Ajax не увенчалась успехом | ||
Загрузил. Там именно те файлы, которые задействованы, не стал весь framework кидать, но если лучше весь, то без проблем
|
Автор: | qed [ 02 июн 2012, 21:16 ] |
Заголовок сообщения: | Re: Вставка в БД при помощи Ajax не увенчалась успехом |
В PHP Вы проверяете существование ключа submit в массиве $_POST Код:
Но метод .serialize() на js не сериализует саму кнопку, по которой была отправлена форма (да и вообще сейчас смотрю как-то мутно у него с кнопками..). Код:
Как вариант проверять в php наличие нужных полей вместо submit. А ещё лучше вынести обработку ajax запроса в отдельный метод, а то сейчас получается что ajax запрос подхватывает шаблоны и возвращает кучу всего(вместе с формой, скриптами и стилями), хотя вроде как и не должен. |
Автор: | androidos [ 02 июн 2012, 21:38 ] |
Заголовок сообщения: | Re: Вставка в БД при помощи Ajax не увенчалась успехом |
Будет очень нагло если я попрошу показать, всё что Вы выше писали, на коде? |
Автор: | androidos [ 02 июн 2012, 21:41 ] |
Заголовок сообщения: | Re: Вставка в БД при помощи Ajax не увенчалась успехом |
а про serialize(), я просто во многих примерах видел такое |
Автор: | qed [ 02 июн 2012, 22:49 ] |
Заголовок сообщения: | Re: Вставка в БД при помощи Ajax не увенчалась успехом |
C serialize() всё верно, нужно только изменить обработчик. В массиве $_POST нету ключа submit. Можно изменить Код:
Код:
Это решит вашу проблему и данные начнут сохраняться в базу. Но есть другой момент, в Вашем случае ajax-запрос должен возвращать только информацию о успешности операции, либо какие-нибудь ошибки, сейчас же он возвращает целиком всю страницу. Как вариант для ajax-запросов можно сделать отдельный контроллер, который будет наследоваться от Controller, а не от Controller_Template, ну и там уже держать экшены, которые будут обрабатывать сами запросы. Вот пример для Вашего кода: Код:
Ну и конечно же не помешали бы какие-нибудь валидации перед записью в базу.., правда это наверное ещё только наброски. |
Автор: | androidos [ 02 июн 2012, 23:44 ] |
Заголовок сообщения: | Re: Вставка в БД при помощи Ajax не увенчалась успехом |
Спасибо большое, ajax сработал. По-поводу отдельного контроллера буду пробовать чуть позже. Валидацию попробую реализовать |
Страница 1 из 2 | Часовой пояс: UTC + 4 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |