Кнопка публикации Laravel с контроллера

Я пытаюсь заполнить свою базу данных с помощью ajax + laravel. но когда я пытаюсь опубликовать свою кнопку удаления, я получаю некоторые ошибки. 2 если быть точным 1) Я не могу найти способ заставить его вызывать функцию уничтожения изнутри контроллера 2) Javascript, который у меня внутри моего лезвия, не выполняется (работает, когда кнопка создается внутри лезвия), что моя проблемная кнопка

<form method = "post" class = "delete_form" action = " $this->callAction(\\'destroy\\', [\\'id\\' => $row[\\'id\\']]); ">
    <input type = "hidden" name = "_method" value = "DELETE"/>
    <button type = "submit" class = "btn btn-outline-danger">Delete</button>
</form>

и я пытаюсь выполнить это из того же контроллера (эта часть работает, я вставляю кнопку в свой клинок (сделал это для тестирования))

public function destroy($id)
{
    $userList = users::find($id);
    $userList->delete();
    return redirect()->route('users.index')->with('successs', 'Data Deleted');
} 

"это моя проблемная кнопка" Это не <button>, а <form>. Это действие должно указывать на маршрут, а не вызывать метод контроллера.

brombeer 11.10.2018 11:27

Привет, я обновил код, чтобы быть более понятным. Думаю, я пробовал то, что вы предлагаете {{route ('users.destroy', ['id' => $ row ['id']])}} ", но он вообще не выполнялся. Это было похоже на то, что я нажимал пустая кнопка <form method = "post" class = "delete_form" action = "{{route ('users.destroy', ['id' => $ row ['id']])}}"> Именно то, что я пытался

Demeteor 11.10.2018 11:32

Ваше действие после редактирования, вероятно, не сработает, потому что оно не анализируется через Blade. (Вы можете попробовать {{ route('users.destroy') }} для вашего action). $id должен быть полем ввода / скрытым в вашей форме, а не в действии вашей формы. Вам также необходимо добавить @csrf в вашу форму.

brombeer 11.10.2018 11:38
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
234
1

Ответы 1

использовать {{route('/users/destroy', ['id' => $row['id'}])}}

в formaction

Покажи мне свой файл маршрута @Demeteor

user9461267 11.10.2018 13:09

Route :: resource ('пользователи', 'UserController'); Route :: get ('/ users / index', 'UserController @ index'); Route :: get ('/ users / index / users', 'UserController @ action') -> name ('index.action'); Route :: get ('/ users / destroy', 'UserController @ destroy') -> name ('users.destroy'); это все, что у меня есть на маршруте.

Demeteor 11.10.2018 13:35

Хотя это может дать ответ на вопрос, лучше добавить описание того, как этот ответ может помочь решить проблему. Пожалуйста, прочтите Как мне написать хороший ответ, чтобы узнать больше. Из обзора

Roshana Pitigala 11.10.2018 16:12

Привет, это все еще не сработало, я пробовал использовать ajax здесь и там, добавляя новые методы, но все равно ничего не удаляется.

Demeteor 11.10.2018 17:05

Другие вопросы по теме