我正在尝试从选定的国家/地区名称获取货币,但是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);
答案 0 :(得分:1)
您应该查看开发工具中的请求输出。查询的结果是一个字符串,因此这也是从ajax请求返回的内容。没有属性。
要获取货币,只需在JavaScript中使用data
变量:
success: function (data) {
a.find('#currency').val(data);
},
得到undefined
的原因是String
没有属性currency
。