我正在一个CakePHP应用程序,并试图AJAX它与JQuery的一点,使其工作更好用户。CakePHP 2.x和JQuery的Ajax - 蛋糕不认为请求是ajax
我刚刚遵循本教程:Cakephp Jquery AJAX Tutorial但由于某种原因,它不起作用。
一个关于教程伟大的一点是,功能回落到正常的CakePHP如果请求不是一个AJAX请求,以便我的应用程序仍然有效,但它不工作的AJAX的方式...
它看起来像在我的控制器,该请求不通过测试:
if($this->request->is('ajax'))
等继续到的非AJAX方式正常$this->redirect(...)
。
难道这与if语句中的'ajax'有关吗?在本教程中,作者在2.0之前使用的是CakePHP版本,因此使用$this->RequestHandler->isAjax()
,但从cakePHP 2.0开始已弃用此版本。
谢谢你的时间。
好吧我设法让它工作,如果我不使用CakePHP帮助器函数:$ this-> Html-> link(),但是只需自己写一个元素,而不用href:'action'=>'delete',但这意味着它不适用于JavaScript禁用的人,本教程的要点是它可以基于if request-> is('ajax')的方式工作...... 它看起来像非ajax调用优先于ajax调用,所以if声明从来没有被打...或什么的。 – poncho
更新:好的,我现在有了HtmlHelper链接()函数,我在jquery点击处理程序中调用preventDefault(),现在它可以工作了!我假设如果某人有Js禁用,那么jQuery不会被触及,因此'默认'(去链接)不会被阻止,我的cakephp仍然会为他们工作。这是真的? – poncho