Laravel.AJAX не работает на Apache - PullRequest
0 голосов
/ 04 июня 2018

Когда я запускаю этот код на сервере php artisan, он выглядит хорошо, но когда я хочу использовать apache, появляется ответ 404.Но с самого начала.Ниже приведены фрагменты кода:

Ajax:

        $('.item_traveler').select2({
          placeholder: 'Wpisz nazwisko podróżnego',
          language: "pt-PL",
          "language": {
              "noResults": function(){
                  return "Nie znaleziono podróżnego";
              },
              "searching": function(){
                  return "Szukam w bazie podróżnych...";
              }
          },
          ajax: {
              url: '/autocomplete-ajax-traveler',
              dataType: 'json',
              delay: 250,
              processResults: function (data) {
                  return {
                      results:  $.map(data, function (item) {
                          return {
                              text: item.lastname+" "+ item.firstname+" | "+item.email+" | "+ item.city+", ul."+ item.address_street,
                              id: item.id
                          }
                      })
                  };
              },
              cache: true
          }
    });

Маршрутизация:

Route::get('/autocomplete-ajax-traveler', 'AutocompleteController@dataAjax_traveler');

Контроллер:

    public function dataAjax_traveler(Request $request)
{
    $data = [];
    if($request->has('q')){
        $search = $request->q;
        $data = DB::table("travelers")
            ->select("id","lastname","firstname","email","city","address_street")
            ->where('lastname','LIKE',"%$search%")
            ->get();
    }
    return response()->json($data);
}

Когда я используюphp artisan serve выглядит следующим образом: php artisan serve version

Когда я использую apache, он выглядит так: enter image description here

И мой файл .htaccessсодержит:

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews -Indexes
</IfModule>

RewriteEngine On

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

Я работаю над этим 5 дней безрезультатно.Пожалуйста, помогите

1 Ответ

0 голосов
/ 04 июня 2018

на apache, вы должны указать полный путь.т. е.

url: localhost/{Project folder name}/public/autocomplete-ajax-traveler

Таким образом, запрос достигнет вашей заявки.

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