Как получить данные из ответа JSON - PullRequest
0 голосов
/ 14 октября 2018

целевой URL

   function purchasetable(Request $request){
   $material = $request->get('query');
   $unitprice = DB::table('materials')->where('name',$material)->select('unit_price','id')->get();
echo json_encode($unitprice);

}

сегмент кода в представлении

 $('#add-btn').click(function() {
    var material = $('select[name="material"]').val();
    var quantity = $('input[name="qty"]').val();
    var _token = $('input[name="_token"]').val();
    alert(material);
    $.ajax({
        url: "{{ route('autocomplete.purchasetable') }}",
        method: "POST",
        data: {
            query: material,
            _token: _token
        },
        success: function(data) {
            //console.log(data);
            data = JSON.parse(data);
            console.log(data);
        }
    });
});

Консольный вывод console output

Я хочу получить доступ к «id» и «unit_price» на мой взгляд, как я могу это объяснить.Спасибо

Ответы [ 2 ]

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

Ваш вывод выглядит как массив объектов.Доступ к любому значению массива можно получить с помощью нотации []Поскольку массив содержит объекты, следовательно, к нему можно получить доступ с помощью оператора ".", Следовательно,
data[0].id и data[0].value дадут вам желаемый результат.[0] -> указывает позицию массива, которая в данном случае равна 0, а .id -> указывает имя объекта, к которому вы хотите получить доступ.

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

Поскольку вы используете jQuery, а ваш ответ является массивом, вы можете выполнить итерацию массива следующим образом:

$.each(data, function(key, value) {
   console.log(value.id, value.unit_price);
});
...