Не могу открыть новое окно при нажатии кнопки - PullRequest
2 голосов
/ 24 января 2020

Мне нужно перенаправить в новое окно, используя onclick openNewWindow. Я просто маршрутизирую к своему контроллеру, но, похоже, выдает ошибку, поскольку «Route [sla.slaCategoryTreeListScreen] не определен»

Вот мой код контроллера.

 public function slaCategoryTreeListScreen() {



        return view('sla.slm.SLACategoryCheckBoxList');
    }


my просмотреть onclick часть

<a class="btn btn-sm btn-default pull-right" type="button" title="Search Category" onclick="openNewWindow('{{ route('sla.slaCategoryTreeListScreen') }}" >

мой маршрут

Route::group(['prefix' => 'sla'], function () {


   Route::resource('sla', 'SlaController');
  //Route::get('sla','SlaController@slaCategoryTreeListScreen')->name('SlaController.slaCategoryTreeListScreen');

  // Route::get('sla','SlaController@SlaCategoryTreeListScreen')->name('sla.SlaCategoryTreeListScreen');

   Route::get('sla/getbranch/{id}','SlaController@getBranchAjax')->name('sla.getBranchAjax');
    Route::get('sla/getBranchAjax2/{cuid}/{stid?}','SlaController@getBranchAjax2')->name('sla.getBranchAjax2');
});

Часть комментария на пути, который пытается, не была исправлена ​​вообще .. Извините за мой плохой Engli sh, и я надеюсь, что его помощь.

Ответы [ 2 ]

1 голос
/ 24 января 2020

Прежде всего: Route::resource() регистрирует маршруты только по предопределенному массиву значений по умолчанию ('index', 'create', 'store', 'show', 'edit', 'update', 'destroy').
Это не автоматически регистрирует любой метод с вашего контроллера.
Также убедитесь, что ваш контроллер имеет методы для всех этих маршрутов или укажите подмножество маршрутов. Проверьте это для получения дополнительной информации: https://laravel.com/docs/6.x/controllers#restful -partial-resource-routs

Второе: ваш a-тэг, похоже, поврежден. Метод JavaScript открывается с (', но никогда не закрывается снова. Так должно быть так:

onclick="openNewWindow('{{ route('sla.slaCategoryTreeListScreen') }}')"

Чтобы просто открыть URL в новой вкладке, вы можете использовать это (с target="_blank"):

<a href="{{ route('sla.slaCategoryTreeListScreen') }}" target="_blank" class="btn btn-sm btn-default pull-right">Search Category</a>

Дополнительно: убедитесь, что маршрут с именем sla.slaCategoryTreeListScreen существует. Самый простой способ сделать это - перечислить все доступные маршруты, выполнив команду php artisan route:list из каталога root вашего проекта в терминале.

0 голосов
/ 24 января 2020

Замените это в вашем файле просмотра

<a class="btn btn-sm btn-default pull-right" type="button" title="Search Category" onclick="window.open('{{ route('sla.SlaCategoryTreeListScreen') }} ', '_blank')" >

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...