jQuery MiniUI

标题: DataGrid中文查询参数问题 [打印本页]

作者: olylai    时间: 2012-4-14 17:38:56     标题: DataGrid中文查询参数问题

通过grid.load(key: key)查询.ashx,需要传递中文参数,但是key参数被ashx文件接收时,出现乱码。 如何解决?


作者: fcrong    时间: 2012-4-14 21:44:10

我们示例传递中文,是否有问题?
乱码一般是文件编码的问题,请注意文件编码一致就可以了。
另外,可以把示例代码文件上传,能方便下载测试的。
作者: 969844859    时间: 2012-4-16 18:15:29

fcrong 发表于 2012-4-14 21:44
我们示例传递中文,是否有问题?
乱码一般是文件编码的问题,请注意文件编码一致就可以了。
另外,可以把示 ...

传递参数时对于的url是用什么方式提交的呢?
作者: windsix    时间: 2012-5-15 15:12:23

很多地方都是使用的get方式,这样来处理中文就有问题了,尤其是像datagrid的load的,这种显然是存在传递中文的需要的,且该请求方式目前是框架写死的,是否可以将其修改为post方式请求。

Get是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。

Get传输的数据量小,这主要是因为受URL长度限制;而Post可以传输大量的数据,要是多几个复杂条件组合提交就会导致参数无法传递了。

希望框架中尽量使用post方式来请求吧。
作者: fcrong    时间: 2012-5-15 15:44:43

grid.load方法,传递的参数是有限的,所以默认使用get方式。
grid.ajaxMethod="post";
这样就能post提交。

注意:
grid.ajaxMethod="post";
此做法是一个私有属性处理,不能保证以后的兼容性。

作者: windsix    时间: 2012-5-15 16:08:58

fcrong 发表于 2012-5-15 15:44
grid.load方法,传递的参数是有限的,所以默认使用get方式。
grid.ajaxMethod="post";
这样就能post提交。

传递的参数有限??这个是技术限制还是需求限制的呢?

那一些复杂的组合查询是否就不能用grid了?不知道是否有其它的实现,只要是能实现将查询条件传递到后台(肯定有中文的),最好是不要在请求的url上能看出来,因为现在很多服务器都可以把请求url记录到日志文件中,数据的安全性上就存在风险了。
作者: fcrong    时间: 2012-5-15 16:17:38

嗯。
下面会默认让grid使用post提交方式。
作者: mr_jackchen    时间: 2013-5-16 23:18:28

fcrong 发表于 2012-5-15 15:44
grid.load方法,传递的参数是有限的,所以默认使用get方式。
grid.ajaxMethod="post";
这样就能post提交。

关于设置了grid.ajaxMethod="post"后,怎么把获得的多个参数传递到url中?需要增加一个form表单吗?
作者: factory    时间: 2013-5-17 09:11:11

mr_jackchen 发表于 2013-5-16 23:18
关于设置了grid.ajaxMethod="post"后,怎么把获得的多个参数传递到url中?需要增加一个form表单吗? ...

过多参数不要通过url传递,url传递是有长度限制的。

你用grild.load({key1:"1",key2:"2"}) 的方式传




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2