CAkePHP ajax-проблема с нумерацией страниц в Firefox - PullRequest
1 голос
/ 24 марта 2012

Я использую Js Pagination в cakePHP 2.0. Я должен управлять результатом поиска с разбивкой на страницы cakePHP. Для этого я установил массив $ separator в файле контроллера и передал его в файл ctp

$this->Paginator->options(array('update' => '#mid_cont',
         'url' => array('controller' => 'users', 'action' => 'index', "cond" =>  separator),
            'before' => $this->Js->get("#loading")->effect('fadeIn'),
            'success' => $this->Js->get("#loading")->effect('fadeOut'),
        ));

Он отлично работает в IE и Chrome, но не в Firefox. В Firefox я получаю массив $ this-> request-> params, как показано ниже:

[plugin] => 
    [controller] => users
    [action] => index
    [named] => Array
        (
           [cond%5Bgender%5D] => 'Male', 
           [cond%5Bage%5D] => '18', 
        )

это должно быть похоже на приведенный ниже код для ввода здесь

[plugin] => 
    [controller] => users
    [action] => index
    [named] => Array
        (
           [cond][gender] => 'Male', 
           [cond][age] => '18', 
        )

Если кто-либо знает какое-либо решение или любой совет, связанный с этой проблемой. Пожалуйста, помогите мне. Заранее спасибо ..:)

1 Ответ

0 голосов
/ 26 марта 2012

Закодируйте параметры и все должно быть в порядке:

// writing
$this->params['named']['cond'] = base64_encode(json_encode($cond));
$this->params['named']['cond'] = strtr($this->params['named']['cond'], '+/=', '-_,');

// Reading
$cond = strtr($this->params['named']['cond'], '-_,', '+/=');
$cond = json_decode(base64_decode($cond), true);
...