$(document).ready(function () {    $.ajax({
        url: "Hander/MessageServices.ashx",
        cache: false,
        success: function (data) {
            if (data) {
                if (data.length > 0) {
                    var message = '';
                    for (var i = 0; i < data.length; i++) {
                        var jsond = data[i];
                        if (jsond.isread == 0) {
                            message += "<div>(" + jsond.mstime + ")<a href='javascript:void(0)' onclick='showMee("+jsond+");'  class='bfont'>" + jsond.mstitle + "</a></div>";
                        }
                    }
                }
            }
            
        }
    });
});function showMee(obj) {
    
        alert(obj);
    
}上面的写法一直报错missing ] after element list
如果传递一个简单数值过去则不报错......

解决方案 »

  1.   

    用FIREBUG检查一下你的回值data的格式,重点是单引号,双引号。
      

  2.   


    jsond  是[object][object] 形式的值. 但是这个应该没问题的吧. 
      

  3.   

    message 输出来就是一句话而已. 然后点那个click事件的时候报错. 
      

  4.   

    应该是缺少引号。message += "<div>(" + jsond.mstime + ")<a href='javascript:void(0)' onclick='showMee("+jsond+");' class='bfont'>" + jsond.mstitle + "</a></div>";onclick上
     onclick='showMee(\""+jsond+"\");'
      

  5.   

    jsond是对象,那个地方需要一个具体的值,如
    jsond[x].xx