0

我们有一个在 2.0 上运行的 cakephp 应用程序,我们似乎在使用 Firefox 时遇到了一些编码问题。

我们正在访问的 URL 是 /newcms/core/users/index/conditions[User][group_id]:6 以在 out cms 系统中应用过滤器。

在除 FireFox 之外的所有内容中,我们在请求对象上得到以下内容

[params] => Array
        (
            [plugin] => core
            [controller] => users
            [action] => newcms_index
            [named] => Array
                (
                    [conditions] => Array
                        (
                            [User] => Array
                                (
                                    [group_id] => 6
                                )

                        )

                )

            [pass] => Array
                (
                )

            [prefix] => newcms
        )

这是正确的,一切正常,如果我们在 FireFox 中访问相同的 URL,我们会得到

[params] => Array
        (
            [plugin] => core
            [controller] => users
            [action] => newcms_index
            [named] => Array
                (
                    [conditions%5BUser%5D%5Bgroup_id%5D] => 6
                )

            [pass] => Array
                (
                )

            [prefix] => newcms
        )

我尝试过对命名条件值进行 URL 编码,但没有运气..

有什么建议么?

4

2 回答 2

2

在 URL 中使用方括号和数组结构可能不是一个好主意。

为什么不只使用这样的东西?:

/newcms/core/users/index/user_group:6

然后处理控制器中的数据。

于 2012-04-04T16:02:20.863 回答
0

好吧,在 GitHub 中对最新版本的 cake 进行了一些挖掘和玩耍之后,已经修复了这个 FF 问题(https://github.com/cakephp/cakephp/commit/e6905b44c3d4512b6989c59a1489bc983d88bcdc)。

在 URI 中传递方括号并没有错,这只是 FF 对它们的编码方式与其他浏览器不同的问题。

于 2012-04-07T00:04:00.463 回答