命名参数通过CakePHP中的ajax调用(Js helper)错误地传递

时间:2010-12-21 18:59:03

标签: cakephp jquery cakephp-1.3

我试图通过传递命名参数来进行ajax调用:

$this->Js->link('Save',array(
                          'controller' => 'screens', 
                          'action' => 'create') + $this->params['named'], 
                       array( 'update' => '#results'));

但是,上面调用中传递的命名参数不正确(尽管在没有ajax的情况下传递时它们是正确的):

示例结果:

没有Ajax: http://paste.ubuntu.com/546338/
使用Ajax: http://paste.ubuntu.com/546337/

转义Ajax URL可能有所帮助,但我该怎么做(或其他方式)?

P.S。 :问题仅在Js Helper中持续存在,如果我使用Ajax帮助程序,则数据正确传递。但是,Ajax帮助程序已折旧,不建议使用。

2 个答案:

答案 0 :(得分:1)

Leo的意思是:

$this->Js->link('save', array('url'=>array('controller'=>'blah', 'action'=>'foo', $this->params['named']), 'update'=>'div'));

答案 1 :(得分:0)

尝试在方法调用之外构造$ url数组。我发现阵列算法在最好的时候是不可靠的。副作用是你能够debug($url);确保一切顺利。