2010-12-21 200 views
0

我试图让Ajax调用传递不正确地通过Ajax调用(JS助手):命名参数通过传递命名的参数CakePHP中

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

然而,在上述调用中传递的命名参数是不正确的(尽管它们是当没有Ajax通过校正):

实施例的结果:

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

转义Ajax URL可能会有所帮助,但我该如何做(或以其他方式)?

P.S. :问题只存在于Js Helper中,如果我使用Ajax助手,则数据正确传递。但是,Ajax帮助器已折旧并且不推荐使用。

回答

1

什么狮子座的意思是这样的:

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

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

+0

嗨狮子座,网址可靠构造,这里是输出http://bin.cakephp.org/view/122471414。 – Pratyush 2010-12-22 10:34:41