我遇到了一些让我的JS工作正常的问题。我试图从下拉列表中选择一个选项,然后调用此函数。正确调用该函数(类型设置为'truck',id设置为5)。我想然后使用返回的数据来填充几个字段。我添加到测试中的alert()给了我“undefined”。
这是我的JS:
function getDueDates(type, id) {
$.getJSON("loadVehicle.php",
{
id: id,
type: type
},
function(data) {
alert( "TEST: " + data.year);
$("#inspection_due").val(data.inspection_due);
$("#short_due").val(data.short_due);
$("#full_due").val(data.full_due);
}
)};
当我手动检查loadVehicle页面时(id = 5,键入= truck)我得到:
[{"truck_id":"5","status":"A","truck_number":"21","year":"1999","make":"Freightliner","model":"Classic","engine":"Detroit","vin_number":"1FUPCSZB2XPA16977","transmission_number":"","tire_size":"","inspection_due":"2009-04-30","short_due":"0000-00-00","full_due":"0000-00-00","comments":"Caf Inc Truck","web_id":"b963940bfd96528f7fd57c08628221f0","last_update":"2009-03-09 16:26:28"}]
但是在页面中警报出现“TEST:undefined”
答案 0 :(得分:11)
您需要data[0].year
,因为您正在获取包含单个对象的数组。
答案 1 :(得分:1)
尝试数据[0]。年。
看起来你的loadVehicle.php正在返回一个对象数组而不仅仅是一个对象。