2015-10-19 43 views
1

我在使用Ajax調用ControllerAction時遇到了問題。 調用和響應工作正常,但在調用的控制器中,DI不能正常工作。所有Injected Services/Repos都是空的(NULL)。依賴注入無法在BE Ajax中調用

只有這樣,如何得到它的工作是打電話的ObjectManager和初始化每個服務/回購直接在行動:

$this->objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\CMS\Extbase\Object\ObjectManager'); 
$this->resourceFactory = $this->objectManager->get('\TYPO3\CMS\Core\Resource\ResourceFactory' 

有一個簡單的方法來獲得DI Ajax的工作電話?

回答

2

如果對象是由ObjectManager創建的,並且對象只能由Extbase上下文中的ObjectManager或手動創建,則DI才起作用。

因此,假設BE AJAX調用沒有在Extbase上下文中完成(不確定),您正在使用正確的方式來初始化對象。