我有一个以这种方式格式化的ajax结果:
{id: 2850, cap: "50129", citta: "Firenze", provincia: "Firenze", sigla: "FI", …}
这是我正在使用的js:
$(function() {
$('#postal_code').keyup(function () {
if($("#postal_code").val().length == 5) {
$.ajax({
type: "POST",
url: '/addresses/getcitycrovince',
async: false,
dataType: 'json',
data: {
cap: $("#postal_code").val()
},
success:function(result){
alert(result.sigla);
$('#province').val(result.provincia);
$('#city').val(result.citta);
console.log(result)
},
error:function(){
}
});
}
});
});
我需要从结果中获取值,但我正在获取undefined
。
我在做什么错了?
编辑
这是getcityprovince函数:
public function getcitycrovince(Request $request) {
$data = $request->all();
$ret = App\CAP::where('cap', $data['cap'])->get();
return json_encode($ret);
}
答案 0 :(得分:1)
由于您获得的是array
而不是object
,因此需要相应地更新代码
$(function() {
$('#postal_code').keyup(function () {
if($("#postal_code").val().length == 5) {
$.ajax({
type: "POST",
url: '/addresses/getcitycrovince',
dataType: 'json',
data: {
cap: $("#postal_code").val()
},
success:function(result){
$('#province').val(result[0].provincia);
$('#city').val(result[0].citta);
},
error:function(){
}
});
}
});
});