AJAX возвращает значение undefined - PullRequest
0 голосов
/ 01 июля 2019

Я пытаюсь получить валюту из названия выбранной страны, но ajax возвращает значение как неопределенное.

Код Ajax

$(document).on('change', '#country' ,function () {
        var prod_id=$(this).val();
        console.log(prod_id);
        var a=$(this).parent();
        var op="";
        $.ajax({
            type:'get',
            url:'{!!URL::to('searchCurrency')!!}',
            data:{'id':prod_id},
            dataType:'json',//return data will be json
            success:function(data){
                console.log(data.currency);
                    // here price is column name in products table data.coln name
                a.find('#currency').val(data.currency);
            },
            error:function(){}
        });
    });
$.ajaxSetup({ headers: { 'csrftoken' : '{{ csrf_token() }}' } });

Код в контроллере

$currency=Currency::select('currency')->where('country','=',$request->id)->pluck('currency')->first();
return response()->json($currency);

1 Ответ

1 голос
/ 01 июля 2019

Вам следует взглянуть на вывод запроса в ваших инструментах разработки.Результатом вашего запроса является одна строка, так что это также то, что будет возвращено из вашего запроса ajax.Нет свойств.

Чтобы получить валюту, просто используйте переменную data в вашем JavaScript:

success: function (data) {
    a.find('#currency').val(data);
},

Причина, по которой вы получаете undefined, заключается в том, что Stringне имеет свойства currency.

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