Сохранить данные

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
evnazar4
Сообщения: 49
Зарегистрирован: 2018.11.09, 09:38

Сохранить данные

Сообщение evnazar4 »

Есть форма. В ней путём jqyery формируется корзина в localStorage. При нажатии кнопки сохранить данные отправляются Post в контроллер update.
в нем пишу:

Код: Выделить всё

$model->dish = "<script>localStorage.basket</script>";
$model->save();
Но сохраняется именно строка: <script>localStorage.basket</script> а не данные, которые в localStorage.
Задача: при нажатии кнопки сохранить, сохранить данные в localStorage. Как? Спасибо!
someweb
Сообщения: 552
Зарегистрирован: 2017.03.09, 10:12

Re: Сохранить данные

Сообщение someweb »

Что сохраняете, то и сохраняет.
Как вы отправляете данные из браузера?
Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.
evnazar4
Сообщения: 49
Зарегистрирован: 2018.11.09, 09:38

Re: Сохранить данные

Сообщение evnazar4 »

Post запросом
и localStorage
evnazar4
Сообщения: 49
Зарегистрирован: 2018.11.09, 09:38

Re: Сохранить данные

Сообщение evnazar4 »

Не совсем понял вопроса, т.к. описал как я отправляю данные в первом сообщении
someweb
Сообщения: 552
Зарегистрирован: 2017.03.09, 10:12

Re: Сохранить данные

Сообщение someweb »

Код отправки.
Откуда у вас взялась строка "<script>localStorage.basket</script>" на стороне сервера, такого быть не должно.
Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.
evnazar4
Сообщения: 49
Зарегистрирован: 2018.11.09, 09:38

Re: Сохранить данные

Сообщение evnazar4 »

Это взялось в случае если данные прилетели на сохранение.

Код: Выделить всё

public function actionUpdate($id)
    {
    $model = $this->findModel($id);
    	if ($model->load(Yii::$app->request->post()) && $model->save()) {
            $model->dish = "<script>localStorage.basket</script>";
            $model->save();
            return $this->redirect(['index']);
            }
            return $this->render('update', [
            'model' => $model,
        ]);
           
    }


someweb
Сообщения: 552
Зарегистрирован: 2017.03.09, 10:12

Re: Сохранить данные

Сообщение someweb »

Где же она взялась, если вы ее пишите сами?
Код отправки с фронта выложите.
Если отправка не через ajax, то добавьте hidden input и присваивайте его перед отправкой через js на фронте.
Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.
Аватара пользователя
proctoleha
Сообщения: 298
Зарегистрирован: 2016.07.10, 19:00

Re: Сохранить данные

Сообщение proctoleha »

evnazar4 писал(а): 2019.02.08, 10:33 Это взялось в случае если данные прилетели на сохранение.

Код: Выделить всё

public function actionUpdate($id)
    {
    $model = $this->findModel($id);
    	if ($model->load(Yii::$app->request->post()) && $model->save()) {
            $model->dish = "<script>localStorage.basket</script>";
            $model->save();
            return $this->redirect(['index']);
            }
            return $this->render('update', [
            'model' => $model,
        ]);
           
    }


Я уже спрашивал, в одном из предыдущих ваших топов: Что такое localStorage? Вы пишете откровенную ерунду, вы хотите, что php прочитал данные из js скрипта. Так не бывает. Js работает на стороне клиента, на стороне браузера, но для php это все строки.
Вот за что я не люблю линукс, так это за свои кривые, временами, руки
Ответить