Яджра, доступная на стороне сервера при доступе к API к паспорту laravel, генерирует случайную ошибку 401 - PullRequest
0 голосов
/ 19 декабря 2018

В настоящее время я разрабатываю ajax для загрузки таблиц данных yajra на стороне сервера в среде laravel 5.7 (env: XAMPP Apache 2.4.6 и PHP 7.3.0).Если я аккуратно выполняю щелчок по каждой странице или осторожно вводлю при поиске строки, то это нормально при его поведении при загрузке / обработке.

Однако, случайные ошибки 401, когда я быстро нажимаю эти кнопки, либо быстро вводят текст в поле поиска,Я думаю, что основной причиной является множественный вызов ajax, когда я это сделал, но не уверен.Итак, это мои коды:

javascript в blade.php :

<script type="text/javascript" src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>

<script type="text/javascript">
    $(document).ready(function() {
        $('#tblpropinsi').DataTable({
            processing: true,
            serverSide: true,
            ajax: {
               url: "{{ route('home.user.list') }}",
               dataType: 'json',
               type: "GET"
            },
            columns: [
                {data: 'id', name: 'id'},
                {data: 'name', name: 'name'},
                {data: 'code', name: 'code'},
                {data: 'description', name: 'description'},
            ]
        });
    });

controller.php

// Пробный API

public function homeuserlist(Request $request)
{
    try {

        // API Access
        $response = $this->client->request('GET', '/api/user/list', [
            'headers' => [
                'Accept'        => 'application/json',
                'Authorization' => 'Bearer eYjblablabla..',
            ],
            'query' => array_merge(
                            [
                                'type'      => 'table',
                                'col'    => 'id',
                                'findstr'   => '%',
                            ],
                            $request->all()    // yajra serverside query
                        ),

        ]);

    }
    catch (RequestException $e) {
        return response(['error' => 'API failed'], 401);
    }
    return json_decode($response->getBody(), true);
}

нужна ваша помощь

С уважением

...