我试图通过传递命名参数来进行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帮助程序已折旧,不建议使用。
答案 0 :(得分:1)
Leo的意思是:
$this->Js->link('save', array('url'=>array('controller'=>'blah', 'action'=>'foo', $this->params['named']), 'update'=>'div'));
答案 1 :(得分:0)
尝试在方法调用之外构造$ url数组。我发现阵列算法在最好的时候是不可靠的。副作用是你能够debug($url);
确保一切顺利。