Почему я не могу вызвать функцию в моем контроллере laravel? - PullRequest
0 голосов
/ 08 января 2019

У меня есть страница с такой ссылкой в ​​моем проекте laravel: http://127.0.0.1:8000/page/39 Затем я пытаюсь сделать AJAX функцию, как это

$(window).dblclick(function(){
    $.ajax({
      url: 'test',
      success: function(r){
        alert(r);
      }
    });
  });

мой маршрут такой:

Route::get('test', ['uses'=>'MyController@test']);

моя функция в контроллере такая:

public function test(){
   echo 1;
}

когда я запускаю свою функцию ajax, вывод не 1, а когда я меняю свою страницу ссылки следующим образом: http://127.0.0.1:8000/page

вывод ajax равен 1, что не так? помоги мне.

Ответы [ 4 ]

0 голосов
/ 08 января 2019

иногда в функциях ajax нельзя использовать маршруты laravel, сначала вы пытаетесь использовать это

url : "{{route('route_name')}}"

, если он не работает, вы можете использовать Ziggy, это так хорошо и легко в использовании,

ссылка: https://github.com/tightenco/ziggy

0 голосов
/ 08 января 2019

Проблема здесь:

url: 'test',

изменить на:

url: '{{ url("/test") }}',

и попробуйте снова.

Объяснение: В laravel помощник url() используется для создания произвольных URL-адресов для вашего приложения.

Ссылка

0 голосов
/ 08 января 2019

Попробуйте назвать свой маршрут: Route::get('/test', ['as' => 'testroute', 'uses' => 'MyController@test' ]); Тогда в вашем js назовите маршрут так:

url = "{{ route('testroute') }}";
$.ajax({
  url: url,
  success: function(r){
    alert(r);
  }
});
0 голосов
/ 08 января 2019

Пожалуйста, измените путь в js-коде на:

Проблема в том, что при http://127.0.0.1:8000/page/39 запрос отправляется на http://127.0.0.1:8000/page/test, а не на http://127.0.0.1:8000/test

Вы должны использовать абсолютный путь /test, а не test

$(window).dblclick(function(){
    $.ajax({
      url: '/test', //changed
      success: function(r){
        alert(r);
      }
    });
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...