【www.gdgbn.com--jquery】

在 var data = eval("(" + msg.d + ")")各位要注意了,很容易出来提示 是  缺少 } ,引起原因是  在返回的字符串里 有 ""这个字符, ""具有转义的作用所有会出现这个错误

$.ajax({
            type: "post",
            contenttype: "application/json",
            url: "../webform1.asp教程x/getrightsstr",
            datatype: "json",
            success: function (msg) {
                alert(msg.d);
                var data = eval("(" + msg.d + ")");
                $.each(data.rights, function (index, item) {
                    alert(item.rightsname);
                });
            },
            error: function (e, s, d) {
                alert(e);
                alert(s);
                alert(d);
            }
        });

后台处理代码

///


        /// datatable转成json
        ///

        /// josn名称
        /// 要转换的数据集
        ///

        public static string datatabletojson(string jsonname, datatable dt)
        {
            stringbuilder json = new stringbuilder();
            json.append("{"" + jsonname + "":[");
            if (dt.rows.count > 0)
            {
                for (int i = 0; i < dt.rows.count; i++)
                {
                    json.append("{");
                    for (int j = 0; j < dt.columns.count; j++)
                    {
                        json.append(""" + dt.columns[j].columnname.tostring() + "":"" + dt.rows[i][j].tostring() + """);
                        if (j < dt.columns.count - 1)
                        {
                            json.append(",");
                        }
                    }
                    json.append("}");
                    if (i < dt.rows.count - 1)
                    {
                        json.append(",");
                    }
                }
            }
            json.append("]}");
            return json.tostring();
        }

eval 函数对作为数字表达式的一个字符串进行求值,其语法为:
   
   eval(expr)
   
   此处 expr 是一个被求值的字符串参数。如果该字符串是一个表达式,eval 求该表达式的值;如果该参数代表一个或多个 网页特效 语句,那么 eval 执行这些语句。eval 函数可以用来把一个日期从一种格式(总是字符串)转换为数值表达式或数字

本文来源:http://www.gdgbn.com/wangyezhizuo/28845/