2
我正在將應用程序從CakePHP 1.3遷移到2.0,並且注意到我的應用程序的ajax部分存在問題,因爲CakePHP正在用default.ctp
佈局提供Ajax響應,而不是我的ajax.ctp
。CakePHP 2.0不使用我的Ajax佈局
有什麼我需要做的,特別是讓阿賈克斯佈局工作?它目前位於View/Layouts/ajax.ctp
與我的default.ctp
工作正常。
我正在將應用程序從CakePHP 1.3遷移到2.0,並且注意到我的應用程序的ajax部分存在問題,因爲CakePHP正在用default.ctp
佈局提供Ajax響應,而不是我的ajax.ctp
。CakePHP 2.0不使用我的Ajax佈局
有什麼我需要做的,特別是讓阿賈克斯佈局工作?它目前位於View/Layouts/ajax.ctp
與我的default.ctp
工作正常。
您是否在控制器或app_controller中的beforeRender中指定了佈局?如果是這樣,一個簡單的黑客將是$this->autoLayout = false;
;或更好:在行動結束時致電$this->render('view_name','ajax');
。你可能使用RequestHandler(我聽說它會自動爲ajax請求使用ajax佈局,但我很少使用它,所以我不知道)。
我假設你在你的方法中有'$ this-> layout ='ajax''? – Ross
不,因爲我不需要1.3 /。我將不得不檢查我的beforeFilter'$ this-> request-> is('ajax')'? – Dunhamzzz
這應該工作(我很驚訝,你說你不需要它在1.3;我認爲它需要與AJAX佈局)。 beforeFilter應該是一個相當體面的方法。 – Ross