当内容长度超过120个字符时,我试图从变量中获取子字符串。
$.ajax({
url: url,
dataType: 'json',
async: false,
success: function(data){
$.each(data, function(i, item) {
var name = item.name;
var itemId = item.itemId;
if(name.length >= 120) {
selectHTML += '<option value=' + itemId + '>' + name.substr(0, 120) + '</option>';
} else {
selectHTML += '<option value=' + itemId + '>' + name + '</option>';
}
});
}
});
但结果,我总是得到这个:
name is undefined
当我在没有substring()
的情况下执行此操作时,它可以正常运行。有什么建议吗?
修改 此行引发错误:
if(name.length >= 120) {
答案 0 :(得分:1)
尝试将if (name.length >= 120)
更改为if (name && name.length >= 120)
答案 1 :(得分:0)
错误表示其中一个item
s不包含name
。
使用console.log(data)
来确定您实际收到的内容 - 您的JavaScript代码没有任何问题。
如果您无法更改服务器端代码,则可以回退到空名称:
var name = item.name || '';