Задать вопрос
@Gleb_Shalygin

Почему приходит пустой AJAX запрос из контроллера в Laravel?

Всем привет! Столкнулся с тем, что приходит пустой data после отправки в контроллер значения через ajax. OrderBy содержит значение, я уже проверял через console.log. Но когда передаю, он отдаёт пустую data.
Роут
Route::get('/bulletins', [BulletinController::class,'output'])->name('output_bulletin');

Контроллер
public function output(Request $request) {
        $import = new ImportDataClient();
        $bulletins = $import->client->request('GET', 'bulletins');

        if($request->ajax()){
            return $request->orderBy;
        }

        return view('layout.bulletins', [
            'bulletins' => json_decode($bulletins->getBody()->getContents())
        ]);
    }

AJAX Запрос
$(document).ready(function() {
               $('.new-select__item').click(function() {
                   let orderBy = $(this).data('value');

                   $.ajax({
                       url: "{{route('output_bulletin')}}",
                       type: "GET",
                       data: {
                           orderBy: orderBy
                       },
                       headers: {
                           'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                       },
                       success: (data) => {
                           console.log(data);
                       }
                   });
               })
            });
  • Вопрос задан
  • 233 просмотра
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
if($request->ajax()){
   echo $request->orderBy; // ретурн тут до жопы, кому ты его возвращаешь?
   exit(); // иначе дальше выполнение идет и как раз получаешь всю страницу.
}

Естественно надо проверить что условие выполняется, а $request->orderBy не пустой и содержит строку/жсон.
Ответ написан
@Gleb_Shalygin Автор вопроса
В итоге удалось решить проблему, только переносом проекта на OpenServer. Так как я изначально поставил на nginx в docker и там вылезали всё новые проблемы. До конца не понял, с чем это может быть связано и как мне работать с ajax в docker на сервере nginx. Спасибо всем, за помощь!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы