Jquery Ajax ответ в Laravel - PullRequest
       1

Jquery Ajax ответ в Laravel

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

Я новичок в jquery ajax и пытаюсь разработать систему с jquery ajax в laravel. Я закодировал все как показано ниже. analysis.blade. php

<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>

TestController. php

public function show($id)
{
    $grnData = DB::table('grns')->WHERE('id',$id)->get();
    return response()->json($grnData);
}

web. php ...

Route::POST('/getGrnData/{id}','TestController@show')

script ..

<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:"POST",
                dataType:"json",
                url:'/getGrnData/'+selected_grn_id,
                success:function(response){
                    console.log(response);
                    $('#load-supply-date').val(response.supply_date);
                    $('#load-supplier').val(response.supplier_name);
                }
            })
        });
    });
</script>

Проблема здесь, $ ('# load-supply-date'). Val (response.supply_date);

Ответ хорошо передается ajax запрос. Но когда я пытаюсь передать данные ответа для просмотра из гайки jquery, данные в таблице не отображаются. Кто-нибудь поможет мне, как это сделать?

1 Ответ

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

Вы пытаетесь получить доступ к свойству supply_date для массива объектов:

Просто замените

public function show($id)
{
    $grnData = DB::table('grns')->WHERE('id',$id)->get(); // ==> returns a collection of object(s) : [{}]
    return response()->json($grnData);
}

на

public function show($id)
{
    $grnData = DB::table('grns')->where('id',$id)->first(); // returns single object : {}
    // or even better you may use $grnData = DB::table('grns')->find($id);
    return response()->json($grnData);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...