为什么我在ajax.sucess中的data.length中未定义?
以下是代码,为简洁起见,删除了一些部分:
$.ajax({
data: JSON.stringify(data),
url: urlGetProviderQualificationTimeData,
type: 'POST',
contentType: "application/json; charset=utf-8",
success: function (data) {
if (data.length > 0) {
$("#loading").hide();
$("#providerqualification-main").show();
$("#tblProviders").show();
SetHeaderFields(data);
} else {
$("#NoRecordFound").show();
$("#providerqualification-main").hide();
}
},
complete: function (e) {
$("#loading").hide();
}
});
答案 0 :(得分:6)
您的data
对象没有length
属性(并且对象没有像数组一样),所以它是undefined
。
考虑到代码的上下文,您只想检查返回的对象中是否包含某些数据。如果是这样,你可以使用它:
success: function (data) {
if (!data || !Object.keys(data).length) {
$("#NoRecordFound").show();
$("#providerqualification-main").hide();
} else {
$("#loading").hide();
$("#providerqualification-main").show();
$("#tblProviders").show();
SetHeaderFields(data);
}
});