[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Передача AJAX форм в ООП MVC
arbuzmaster
Подскажите пожалуйста, как передать данные из формы при помощи AJAX в MVC?
Как передать какой нибудь параметр - мне понятно, сначала я прописываю в роутах путь с рег выражением к контроллеру, в котором получаю эти значения и далее передаю их в методы.
Примерно так:
routes.php

return array(
'scenes/ajax/(.*)'=>'ajax/ajaxScene/$1', //выполнение сценария по имени - $name
);


AjaxController.php

public function actionAjaxScene($name)
{
Scenes::startScene($name);
}

и так далее. А как передать все значения из формы, не могу понять. :unsure:
Вижу только вариант с разбором по & при помощи explode, но скорее всего я ошибаюсь и есть способ проще?

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
AllesKlar
MVС это или Turbo Basic не играет ни какой роли.
У тебя должен быть хендлер, ловящий GET и POST массивы, и помещающий их в хранилище (как вариант, сессия)
И из этого хранилища твой метод actionAjaxScene() уже и будет брать данные, прилетевшие с запросом.



_____________
[продано копирайтерам]
Игорь_Vasinsky
Цитата
MVС это или Turbo Basic не играет ни какой роли.
laugh.gif
яб лучше не сказал!

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
arbuzmaster
Т.е. я должен сначала записать данные из заполненной формы в сессию на JS и сразу после этого сделать AJAX запрос к серверу, по которому он вытащит данные из сессии (уже на PHP) и начнет их обрабатывать, так получается? unsure.gif Мне кажется, что я чего-то не до понимаю, можете показать на примере?

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
Игорь_Vasinsky
1. с клиента данные передаются в контроллер
2. контроллер дёргает нужную модель и получает от неё данные
3. контроллер возвращает данные на клиент

не важно работаешь ты с бд или с сессией, но если речь пошла об MVC то всё именно так.

еслиб делал я - то яб модель тут не использовал.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
arbuzmaster
Игорь_Vasinsky Мне понятны пункты 2 и 3, а вот п.1 - 1. с клиента данные передаются в контроллер. Как их передать и принять в контроллере POST или GET массив ?

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
Игорь_Vasinsky
как хочешь, но предпочтительней POST
ты же аякс используешь, сформируй данные и отправь постом в контроллер, в нужный метод.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
arbuzmaster
Я так понял, что должно быть как то так ?
routes.php

return array(
'autostartform/ajax'=>'ajax/autoStartForm', // принимаем данные $_POST с формы
);


AjaxController.php

public function actionAutoStartForm()
{
Scenes::changeAutostart();
}


Scenes.php

public static function changeAutostart()
{
$time_enable=$_POST['time_enable'];
// и все остальные данные из массива $_POST

}


_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
Игорь_Vasinsky
а почему нет?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
arbuzmaster
Цитата (Игорь_Vasinsky @ 17.03.2017 - 12:10)
а почему нет?

unsure.gif Я просто еще не совсем вник в этот ООП, потихоньку вот разбираюсь. В процедурном стиле было как то более понятно, запрос шел к файлу с обработчиком, а здесь все как то завернуто!

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
Игорь_Vasinsky
тебе же сказали, аякс тут не причем. почитай про ООП

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.