jQuery MiniUI

 找回密码
 立即注册
查看: 4850|回复: 13
打印 上一主题 下一主题

关于Gird.setData()方法的字符串解析的问题. [复制链接]

Rank: 6Rank: 6

跳转到指定楼层
楼主
发表于 2013-8-5 17:06:47 |只看该作者 |倒序浏览
grid.setData(mini.decode(strs));

这个方法总是会报错..

strs内容
[{username:'admin',password:'123456',personname:''|"|'|"'}]

红色部分每次在setData的时候,解析就出错了..mini.js里面执行的 var s = eval("("+json+")")这个方法失败...

首先我在persion列已经设置了 {field:'personname',autoEscape:true},但是还是不行

请问有什么好的解决办法

Rank: 8Rank: 8

沙发
发表于 2013-8-6 09:38:20 |只看该作者
[{username:'admin',password:'123456',personname:''|"|'|"'}]
你的单双引号的配对就是错了的,你这样的personname的值是'' 空的,再后面的这些就完全无法辨别了,不谈encode和decode,就算单纯是一个数组,也会检测错误


附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 6Rank: 6

板凳
发表于 2013-8-6 10:16:40 |只看该作者
factory 发表于 2013-8-6 09:38
[{username:'admin',password:'123456',personname:''|"|'|"'}]
你的单双引号的配对就是错了的,你这样的pe ...

asp.net后台完整的解析字符串是这样的

{res:"true",msg:"[{username:'admin',password:'123456',personname:''|"|'|"'}]"}

你再看看这样,我前台JS   
var json = eval("("+data+")");//首先我这里就解析了一次.如果我用的不是单引号这里就失败了.
if(json.res=="true"){
    form.setData(mini.decode(json.msg));//这里第二次
}


你这样试一试就解析失败了

Rank: 6Rank: 6

地板
发表于 2013-8-6 13:59:23 |只看该作者
factory 发表于 2013-8-6 09:38
[{username:'admin',password:'123456',personname:''|"|'|"'}]
你的单双引号的配对就是错了的,你这样的pe ...

asp.net后台完整的解析字符串是这样的

{res:"true",msg:"[{username:'admin',password:'123456',personname:''|"|'|"'}]"}

你再看看这样,我前台JS   
var json = eval("("+data+")");//首先我这里就解析了一次.如果我用的不是单引号这里就失败了.
if(json.res=="true"){
    form.setData(mini.decode(json.msg));//这里第二次
}


你这样试一试就解析失败了

Rank: 8Rank: 8

5#
发表于 2013-8-6 14:23:12 |只看该作者
nbakill2 发表于 2013-8-6 13:59
asp.net后台完整的解析字符串是这样的

{res:"true",msg:"[{username:'admin',password:'123456',personn ...

[{username:'admin',password:'123456',personname:'\'|"|\'|"'}]

手动拼的话,加上\

一般手动拼才会出这种错,用json组件的话,是不会出现这种问题的

Rank: 6Rank: 6

6#
发表于 2013-8-7 08:02:26 |只看该作者
factory 发表于 2013-8-6 14:23
[{username:'admin',password:'123456',personname:'\'|"|\'|"'}]

手动拼的话,加上\

json组件的话,有什么好的组件推荐吗???

请帮忙,谢谢!

Rank: 8Rank: 8

7#
发表于 2013-8-7 09:20:49 |只看该作者
nbakill2 发表于 2013-8-7 08:02
json组件的话,有什么好的组件推荐吗???

请帮忙,谢谢!

你可以直接用miniui的,后台的看.net看App_Code\Utils下面的JSON.cs
java是src\Test下的JSON.java

Rank: 6Rank: 6

8#
发表于 2013-8-7 15:58:58 |只看该作者
factory 发表于 2013-8-7 09:20
你可以直接用miniui的,后台的看.net看App_Code\Utils下面的JSON.cs
java是src\Test下的JSON.java ...

我看了那个文件,但是不知道你指的是哪个方法..

以为我asp.net后台回传的是字符串,只不过是json数组类型的字符串

我是在前台用eval("("+data+")")方法解析成json数组的..

但是就是在解析的时候出了错误.

可否帮忙?

Rank: 6Rank: 6

9#
发表于 2013-8-7 16:24:45 |只看该作者
factory 发表于 2013-8-7 09:20
你可以直接用miniui的,后台的看.net看App_Code\Utils下面的JSON.cs
java是src\Test下的JSON.java ...

我看了那个文件,但是不知道你指的是哪个方法..

以为我asp.net后台回传的是字符串,只不过是json数组类型的字符串

我是在前台用eval("("+data+")")方法解析成json数组的..

但是就是在解析的时候出了错误.

可否帮忙?

Rank: 8Rank: 8

10#
发表于 2013-8-7 17:13:36 |只看该作者
nbakill2 发表于 2013-8-7 16:24
我看了那个文件,但是不知道你指的是哪个方法..

以为我asp.net后台回传的是字符串,只不过是json数组类型 ...

你不用管这2个文件,有了这个2个文件之后,你只需要按照demo的后台的encode和decode使用就行了
比如.net的话,Test.JSON.Decode(str)

Test.JSON.Encode(data)

Archiver|普加软件

GMT+8, 2024-11-29 06:36 , Processed in 1.045618 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部