0
我正在拉取JSON數據以填充兩個單獨的選擇字段(國家和城市)。提交時,JSON數據返回:「無法讀取未定義的屬性值」
當提交表單我得到的:
Cannot read property 'value' of undefined
我曾嘗試使用重置數據:
data.countries = data[0];
data = data[0];
/前後的返回:
Uncaught TypeError: Cannot read property 'length' of undefined
這裏是我用來檢索數據的代碼片段
$.ajax({
url: myAPI,
type: 'POST',
success: function (data) {
$.each(data.countries, function (index, value) {
country.append('<option value="' + value.name + '">' + value.name +'</option>');
});
country.on('change', function() {
var self = $(this).val();
city.find('option').remove();
for(var i = 0; i < data.countries.length; i++) {
if(data.countries[i].name == self) {
$.each(data.countries[i].metroAreas, function (index, value) {
city.append('<option value="' + value.name+'">' + value.name +'</option>');
});
}
}
});
}
});
你確定'data.countries'是'array'而不是'object'嗎? – Diego
此外,如果在提交表單時引發錯誤,那麼您可能正在運行一些代碼。這是什麼? – Diego
@Diego,試圖訪問對象上的'.length'將返回未定義的,不拋出'TypeError',如果該對象實際上已定義,並且如果該對象未定義,將引發'ReferenceError' –