Получить данные с помощью запроса ajax из jquery в laravel - PullRequest
1 голос
/ 25 февраля 2020

Я пытаюсь получить данные с помощью jquery ajax запроса в laravel. Я всегда получаю 500 внутренних ошибок сервера по запросу. Я хочу автоматически загружать другие поля в таблице при выборе номера GRN из выбора. Любая помощь, чтобы избавиться от этой ошибки. Мои коды ниже.

view - analysis.blade. php

<div class="col-md-6 analysis-table">
        <div class="description-table-1">
        <input type="hidden" name="_token" value="{{ csrf_token() }}">
            <u><h5>Supply - 01</h5></u>
            <table id="grn_for_MC">
                <tr>
                    <td width="40%">GRN</td>
                    <td>
                        <select name="grn-one" id="grn-one" class="input-sm dynamic" data-dependant="new-supply-data">
                            <option value="">Select GRN</option>
                            @foreach($grn_list as $grn_lists)
                            <option value="{{$grn_lists->id}}">{{$grn_lists->grn_no}}</option>
                            @endforeach
                        </select>
                    </td>
                </tr>
                <tr>
                    <td>Supply Date</td>
                    <td id="load-supply-date">14/02/2020</td>
                </tr>
                <tr>
                    <td>Supplier Name</td>
                    <td id="load-supplier">Mahesh Lowe</td>
                </tr>
                <tr>
                    <td>Quantity Supplied</td>
                    <td id="load-qty">10000.00kg</td>
                </tr>
                <tr>
                    <td>No of Bags</td>
                    <td id="load-no-of-bags">20</td>
                </tr>
            </table>
        </div>
    </div>

Мои сценарии ниже .....

<script>
$(document).ready(function(){
    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
        }
    });
    $('select#grn-one').on('change',function(e){
        e.preventDefault();
        var selected_grn_id = $(this).children("option:selected").val();

        console.log(selected_grn_id);
        $.ajax({
            url:"/getGrnData/" + selected_grn_id,
            method: 'get',
            // data: {id:selected_grn_id},
            dataType: 'json',
            success: function(){
                console.log('Request Send');
            }
        });

    });
});

TestController. php

public function ajax_show($id)
{
    if(Request::ajax()){
        $grnId = Input::get("id");
        return Response::json('Success',$grnId);
    }
}

VeryfyCsrfToken. php

protected function tokensMatch($request){
    $token = $request->ajax() ? $request->header('X-CSRF-Token') : $request->input('_token');
    return $request->session()->token() == $token;
}

Маршрут ....

Route::get('/getGrnData/{id}','TestController@ajax_show');

1 Ответ

0 голосов
/ 27 февраля 2020

Наконец я нашел ответ на вопрос. Вид не изменился. TestController. php & Сценарии изменены. Я только что удалил проверку ajax в функции TestController и просто вернул ответ json из функции. Затем он захватывается из ajax и данные отправляются в запрошенные скрипты.

TestController. php

public function show($id)
{
    $loadData = DB::table('summery')->where('id',$id)->get();
    return response()->json($loadData);
}

Скрипты ....

<script>
$(document).ready(function(){
    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
        }
    });
    $('select#grn-one').on('change',function(e){
        var selected_grn_id = $(this).children("option:selected").val();
        $.ajax({
            type:"GET",
            dataType:"json",
            url:'/getGrnData/'+selected_grn_id,
            success:function(response){
                console.log(response);
            }
        })
    });

});

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