慎用 7.0.2 中的 JSON 功能

之前介绍过 domino 7.0.2 引入了一个新的功能:以 JSON 格式返回视图的内容。当时我只是做了简单的测试,并没有用于实际项目。最近我在一个项目中使用了这个功能,没想到遇到了一个棘手的问题:服务器返回的 JSON 内容是以 GB2312 编码的,但是却没有在 Http Header 中声明。由此带来的结果就是,xmlHttpRequest 对象将其以默认的 UTF-8 编码处理,最终导致乱码等错误。而同样的代码在 Domino 8.0 上就没有问题,因为它返回的 JSON 是以 UTF-8 编码的。

找到问题的来源后,我通过 800 联系了 IBM,得到的答复是:此功能是在 8.0 版正式引入的,没有任何正式文档说明在 7.0.2 版中有此功能,所以无法进行技术支持。我查来查去才想起来,这个功能是在 Lotusphere 08 的一个 PPT 上看到的,还真没啥官方文档的说明。对于各种非正式文档记载的功能,大家用之前也要三思啊。