我认为cakephps jshelper对于Ajax表单提交非常整洁。通常,您只需设置DOM元素以使用新内容进行更新,而Jshelper会照顾其余的内容。普通的提交按钮看起来像:
echo $this->Js->submit('Submit', array(
'update' => '#a-div',
'url' => 'some-url'
);
现在,我想更新2或3个不同的DOM元素,而我的AJAX响应类型将是带有2或3个密钥对的JSON。所以对我的问题。
如何捕获JSON响应数据并将该数据传递给我写的独立回调函数,我可以在其中解析响应并使用值对更新相关的DOM元素?正确的语法是什么?我意识到我可能可以使用jshelper跳过并创建自己的提交,但是在这种情况下我不想这样做。
我找到了正确的答案:
echo $this->Js->submit(
'Lägg en i varukorgen',
array(
'url' => array('controller' => 'products', 'action' => 'ajax_basket'),
'id' => 'basket-add-submit',
'success' => 'myFunction(data);',
)
);
在成功回调中
忘记jshelper,然后自己写jQuery代码。