为什么我在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();
}
});
Run Code Online (Sandbox Code Playgroud)
你的data
对象没有length
属性(并且Object没有像Arrays那样的对象),所以它就是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);
}
});
Run Code Online (Sandbox Code Playgroud)