arbuzmaster
16.03.2017 - 22:46
Подскажите пожалуйста, как передать данные из формы при помощи AJAX в MVC?
Как передать какой нибудь параметр - мне понятно, сначала я прописываю в роутах путь с рег выражением к контроллеру, в котором получаю эти значения и далее передаю их в методы.
Примерно так:
routes.php
return array(
'scenes/ajax/(.*)'=>'ajax/ajaxScene/$1',
);
AjaxController.php
public function actionAjaxScene($name)
{
Scenes::startScene($name);
}
и так далее. А как передать все значения из формы, не могу понять. :unsure:
Вижу только вариант с разбором по & при помощи explode, но скорее всего я ошибаюсь и есть способ проще?
_____________
Мой первый сайтикПосмотри на свой XBMC под другим углом
AllesKlar
16.03.2017 - 23:26
MVС это или Turbo Basic не играет ни какой роли.
У тебя должен быть хендлер, ловящий GET и POST массивы, и помещающий их в хранилище (как вариант, сессия)
И из этого хранилища твой метод actionAjaxScene() уже и будет брать данные, прилетевшие с запросом.
_____________
[продано копирайтерам]
Invis1ble
17.03.2017 - 00:45
Игорь_Vasinsky
17.03.2017 - 05:25
Цитата |
MVС это или Turbo Basic не играет ни какой роли. |
яб лучше не сказал!
_____________
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
17.03.2017 - 07:47
Т.е. я должен сначала записать данные из заполненной формы в сессию на JS и сразу после этого сделать AJAX запрос к серверу, по которому он вытащит данные из сессии (уже на PHP) и начнет их обрабатывать, так получается?

Мне кажется, что я чего-то не до понимаю, можете показать на примере?
_____________
Мой первый сайтикПосмотри на свой XBMC под другим углом
Игорь_Vasinsky
17.03.2017 - 07:52
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
17.03.2017 - 07:58
Игорь_Vasinsky Мне понятны пункты 2 и 3, а вот п.1 - 1. с клиента данные передаются в контроллер. Как их передать и принять в контроллере POST или GET массив ?
_____________
Мой первый сайтикПосмотри на свой XBMC под другим углом
Игорь_Vasinsky
17.03.2017 - 09:14
как хочешь, но предпочтительней 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
17.03.2017 - 11:45
Я так понял, что должно быть как то так ?
routes.php
return array(
'autostartform/ajax'=>'ajax/autoStartForm',
);
AjaxController.php
public function actionAutoStartForm()
{
Scenes::changeAutostart();
}
Scenes.php
public static function changeAutostart()
{
$time_enable=$_POST['time_enable'];
}
_____________
Мой первый сайтикПосмотри на свой XBMC под другим углом
Игорь_Vasinsky
17.03.2017 - 12:10
а почему нет?
_____________
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
17.03.2017 - 13:08
Цитата (Игорь_Vasinsky @ 17.03.2017 - 12:10) |
а почему нет? |

Я просто еще не совсем вник в этот ООП, потихоньку вот разбираюсь. В процедурном стиле было как то более понятно, запрос шел к файлу с обработчиком, а здесь все как то завернуто!
_____________
Мой первый сайтикПосмотри на свой XBMC под другим углом
Игорь_Vasinsky
17.03.2017 - 13:13
тебе же сказали, аякс тут не причем. почитай про ООП
_____________
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
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.