我正在一個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