Данные Ajax не попадают в контроллер - PullRequest
0 голосов
/ 22 октября 2018

Я использую ajax-запрос, чтобы показать некоторую информацию, в моей локальной версии разработки он работает отлично, но на рабочем сервере (Ubuntu 16.04 LEMP) он не проходит проверку, потому что в запросе нет данных.

Проверки

  • URL-адрес корректно отображается (например, example.com/employeeInfo?employeeId=1)
  • Сам Ajax работает: когда мне тяжело-кодировать ответ контроллера, все в порядке.

Я не могу понять, почему это происходит в производстве, но не в локальной версии ... Огромное спасибо за любые подсказки!

View

<script>
(function ($) {
$(document).ready(function() {
    $(".team-pic").off("click").on("click", function() {

        var employeeId = $(this).data('id');

        // Get data
        $.ajax({
            type: "GET",
            url: "employeeInfo",
            data: {employeeId:employeeId},
            success: function(data){
                var obj=$.parseJSON(data);
                $('#team-info-title').html(obj.output_name);
                $('#team-info-subtitle').html(obj.output_role);
                $('#resume').html(obj.output_resume);
                $('#linkedin').html(obj.output_linkedin);
                $("#team-info-background").show();
                $("#team-info").show();
            }
        });

    });
});
}(jQuery));
</script>

Маршрут

Route::get('/employeeInfo', 'EmployeeController@getInfo');

Контроллер

public function getInfo(Request $request) {

    if($request->ajax()) {

        $this->validate($request, [
            'employeeId' => 'required|integer',
        ]);

        $employee = Employee::find($request->employeeId);
        $output_linkedin = '<a href="'.$employee->linkedIn.'"class="linkedin" target="blank"><i class="fab fa-linkedin"></i></a>';

        $data = array("output_resume"=>$employee->resume,"output_linkedin"=>$output_linkedin, "output_name"=>$employee->name, "output_role"=>$employee->role);
        echo json_encode($data);

    }
}

1 Ответ

0 голосов
/ 23 октября 2018

Если вы хотите передать данные о сотруднике. Если вам нужно пропустить порцию через ваш маршрут, либо вы должны передать данные методом POST.

Route::get('/employeeInfo/{slug}', 'EmployeeController@getInfo');

И получить порцию в своей функции на контроллере.

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