JS eval很重要一定要分清楚json对象和json字符串区别

今天写ligerui三级联动读取数据总是报错:

uncaught exception: Syntax error, unrecognized expression: [{id:0,code:0,name:'÷éy'},{id:186,code:430100,name:'™'},{id:187,code:430200,name:'*2'},{id:188,code:430300,name:'Xm'},{id:189,code:430400,name:'a3'},{id:190,code:430500,name:'µ3'},{id:191,code:430600,name:'³3'},{id:192,code:430700,name:'8·'},{id:193,code:430800,name:' ¶L'},{id:194,code:430900,name:'Ê3'},{id:195,code:431000,name:'ôÞ'},{id:196,code:431100,name:'8Þ'},{id:197,code:431200,name:'

调用方法:

    $.post("../Data1/Sql_Ssx.ashx?Action=QXbyC", {}, function (result) {         
                $("#tCity").ligerGetComboBoxManager().clearContent();

                $("#tCity").ligerGetComboBoxManager().setData(result);
                //   $("#tCity").ligerGetComboBoxManager().updateStyle();
            });         

json字符串没有问题 数据返回没有问题 字符串绑定调试一直报错以为读取的数据格式不正确 其实不是post调用返回的是字符串而ligerui绑定设置数据要求是json对象

使用如下方法:

$.getJSON(("../Data1/Sql_Ssx.ashx?Action=QXbyC",
                      function (json) {
                          $("#tCity").ligerGetComboBoxManager()..setData(json); //把json塞到下拉框里面去  
        
                      }
                   );   

就没有问题 因为 getjson 返回的数据格式格式化为json对象或者数组了  而post没有所以post的数据需要eval() 这样就没有问题了

 

    $.post("../Data1/Sql_Ssx.ashx?Action=QXbyC", {}, function (result) {         
                $("#tCity").ligerGetComboBoxManager().clearContent();

                $("#tCity").ligerGetComboBoxManager().setData( eval(result));
                //   $("#tCity").ligerGetComboBoxManager().updateStyle();

            });     


//或者声明的时候:赋值给一个变量 通过对象变量改变值

 var  gcity1 = $("#tCity").ligerComboBox({
                data:'',
                valueField: 'code',
                textField: 'name',
                selectBoxWidth: 140,
                autocomplete: true,
                width: 140,
                initValue: 0,
                isMultiSelect: false,
                onSelected: function (newvalue) {
                    getcity(gcity2, "../Data1/Sql_Ssx.ashx?Action=QXbyC&city_val=" + newvalue)                 
                }
            });

gcity1.setData(data)





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值