Маршрутизация Laravel5.7 с использованием Route: совпадение не работает - PullRequest
0 голосов
/ 05 февраля 2019

Я использую Laravel 5.7 Я пытаюсь направить свою функцию для получения и отправки.Я хочу загрузить вид и опубликовать форму.Поскольку я изучил

Route::match(['GET','POST'], '/', TestController@test);
Route::any('/', TestController@test);`

, один из них должен работать.

Но это не работает для меня, есть ли другой способ или я делаю что-то не так?

ОБНОВЛЕНИЕ

Путь к администратору:

Route::match(['get','post'], 'cp/', 'AdminController@test');

Функция в административном контроллере:

public function test( Request $request){

    $data=array();

    if ($request->isMethod('POST')) {
        echo "here it is";
        exit;
    }else{ 
        echo "still in get!";
    }
    return view('admin/login',  $data);
}

И мой взгляд вкратце примерно такой:

<form  action="{{ url('/cp') }}" method="POST">
    <input type="hidden" name="_token" value="{{ csrf_token() }}">
<form>

Ответы [ 3 ]

0 голосов
/ 05 февраля 2019

Можете ли вы попробовать изменить

Route::match(['GET','POST'], '/', TestController@test);

на

Route::match(['GET','POST'], '/', 'TestController@test');

ИЛИ

Route::any('/', TestController@test);

на

Route::any('/', 'TestController@test');

Второй параметр долженбыть заключенным в кавычки!

ОБНОВЛЕНИЕ:

Ваш код соответствия маршрута должен быть примерно таким:

Route::match(array('GET', 'POST', 'PUT'), "/", array(
    'uses' => 'Controller@index',
    'as' => 'index'
));
0 голосов
/ 05 февраля 2019

Ну, к концу, что я понимаю, чтобы использовать route::match Я должен указать имя функции без него, оно не будет работать. Так что, когда я изменил его на Route::match(array('GET', 'POST', 'PUT'), "/login", array( 'uses' => 'AdminController@login', 'as' => 'login' )); Это решает проблему.Спасибо всем за помощь !!

0 голосов
/ 05 февраля 2019

Попробуйте это в себе web.php

Route::match(['get', 'post'], '/testMethods', function () 
{
    dd('its workong bro');
});

И нажмите yourprojectname/testMethods в своем веб-браузере

Например: http://localhost:8000/testMethods

От Illuminate\Contracts\Routing\Registrar.php

public function match($methods, $uri, $action);

Вот список параметров функции соответствия

Параметр Один Список методов: Например: получить, разместить, поставить, исправить

URL-адрес второго параметра: Например: / testMethods

Параметр три Метод: Например: TestController @ test

Route::match(['get', 'post'], '/testMethods','TestController@test');
...