2011-08-01 57 views
2

我正在將應用程序從CakePHP 1.3遷移到2.0,並且注意到我的應用程序的ajax部分存在問題,因爲CakePHP正在用default.ctp佈局提供Ajax響應,而不是我的ajax.ctpCakePHP 2.0不使用我的Ajax佈局

有什麼我需要做的,特別是讓阿賈克斯佈局工作?它目前位於View/Layouts/ajax.ctp與我的default.ctp工作正常。

+2

我假設你在你的方法中有'$ this-> layout ='ajax''? – Ross

+0

不,因爲我不需要1.3 /。我將不得不檢查我的beforeFilter'$ this-> request-> is('ajax')'? – Dunhamzzz

+0

這應該工作(我很驚訝,你說你不需要它在1.3;我認爲它需要與AJAX佈局)。 beforeFilter應該是一個相當體面的方法。 – Ross

回答

3

您是否在控制器或app_controller中的beforeRender中指定了佈局?如果是這樣,一個簡單的黑客將是$this->autoLayout = false;;或更好:在行動結束時致電$this->render('view_name','ajax');。你可能使用RequestHandler(我聽說它會自動爲ajax請求使用ajax佈局,但我很少使用它,所以我不知道)。