Cakephp 2.x 和 Jquery Ajax - Cake 不认为请求是 ajax



我正在开发一个小蛋糕PHP应用程序,并试图用JQuery对它进行AJAX,以使其对用户来说更好一点。

我刚刚遵循了本教程:Cakephp Jquery AJAX 教程,但由于某种原因它不起作用。

本教程的一大优点是,如果请求不是 AJAX 请求,则功能会回退到正常的 CakePHP,所以我的应用程序仍然可以工作,但它不能以 AJAX 方式工作......

看起来在我的控制器中,请求没有通过测试:

if($this->request->is('ajax'))

因此,继续使用非 AJAX 方式的正常$this->redirect(...)

这可能与"ajax"的if语句有关吗?在本教程中,作者使用的是 cakePHP 2.0 之前的版本,因此使用了 $this->RequestHandler->isAjax() 但这在 cakePHP 2.0 中被弃用了。

谢谢你的时间。

JsHelper::link 可能会做你想做的事。

我想你已经发现,这与蛋糕无关。 这是因为在教程中他告诉您创建一个链接,然后您正在单击该链接以运行该操作。 这会导致 AJAX 请求触发,但实际链接也会被跟踪。

您需要在jQuery单击事件中preventDefault(),以阻止浏览器以正常方式访问链接。如果用户没有 JavaScript,这不会影响链接...因为他们不会首先发生点击事件:)

相关内容

  • 没有找到相关文章

最新更新