9/9/2009
ExtJS库利用request方法提交异步HTTP请求,它的params参数可以传递一个平面的JSON对象,将形如{Fa:v1,Fb:v2}的参数对象展开为Fa=v1&Fb=v2这样的POST参数表。不过,这个params参数并不接受类似{Fa:{Name:"Mike"}}这样的复合JSON对象。Ext虽然有一个decode函数可以将任意层次的JSON对象转化为字符串,但经过测试,它竟然会将字符串值中的两个汉字编码为三个Unicode字符。。。于是不得已只能自己来处理了。
原理也不复杂——利用JSON格式支持\uXXXX形式的Unicode编码的功能,将汉字转化为合法的JSON代码,搞定:)
PARAM样例:
UIID=(2142638864)&act=PEV&data={event:"FVCHG",field:"NativePlace__Lo",value:"\u5317\u4EAC"}&callback=_FdChg&id=1