Error:'length' 为空或不是对象

functionphpjs_viewpic(n_vid,input){varinput_view="_view_"+input;if(!n_vid||n_vid==""|... function phpjs_viewpic(n_vid,input)
{
var input_view = "_view_"+input;
if(!n_vid || n_vid =="" || n_vid == "undefined")
{
getid(input_view).innerHTML = "<img src='images/nopic.gif' />";
return true;
}
var url = get_url('open,ajax_preview_img')+"idstring="+n_vid;
var msg = get_ajax(url);
if(msg == "empty")
{
phpjs_viewpic("",input_view);
return true;
}
var array = JSON.parse(msg);
//通过Ajax获取图片列表
var p_html = '<table><tr>';
for(var i=0;i<array.length;i++)
{
var tmp_i = i+1;
var srcurl = array[i]["url"];
if(!srcurl || srcurl == "" || srcurl == "undefined")
{
srcurl = "images/nopic.gif";
}
p_html += '<td><img src="'+srcurl+'" class="hand" onclick="phpjs_preview(\''+array[i]["id"]+'\')" /></td>';
if(tmp_i%8 == "")
{
p_html += "</tr><tr>";
}
}
p_html += "</tr></table>";
getid(input_view).innerHTML = p_html;
return true;
}

提示:Error:'length' 为空或不是对象
展开
 我来答
shaojunxiong
推荐于2017-09-28
知道答主
回答量:7
采纳率:0%
帮助的人:0
展开全部
问题应该出在
var array = JSON.parse(msg);
这段代码返回的array对象并不是一个数组,所以下面的循环
for(var i=0;i<array.length;i++)
出错了。

因为JSON.parse方法的返回完全取决于其输入,建议你把msg的类型显示出来看看。用个
alert(msg);
就可以了,如果它不是
[...]
这种格式,就说明返回的不是数组,检查你的ajax调用吧。
Jeremiah88
2010-05-17 · TA获得超过3297个赞
知道小有建树答主
回答量:263
采纳率:100%
帮助的人:226万
展开全部

发现在ASP.NET站点中,如果在一个文本框中同时使用验证控件和DatePicker时会报“length为空或不是对象”这样的JS错误,Google一番,发现错误是这样子解决哒,捕获Datepicker的onSelect事件,但不做任何处理:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式