[TYPO3-mvc] Extbase Backend Ajax Call

Andrea Schmuttermair abo at schmutt.de
Wed Jan 29 15:38:59 CET 2014


Hi,

I blogged everything I have until now, took me some time to debug and  
puzzle out everything, so maybe someone can use it:
http://www.schmutt.de/505/extbase-backend-extension/

Any better solutions or configurations are still appreciated!

Thanks,
Andrea



Quoting Andrea Schmuttermair <abo at schmutt.de>:

> Hi,
>
> still working on this issue, and the only solution I found is an  
> old-fasioned Backend Extension, but no Extbase Solution?
>
> Here is a nice Ajax Dispatcher:
> http://daniel.lienert.cc/blog/blog-post/2011/04/23/typo3-extbase-und-ajax/
> With some debugging and bugfixing I finally see my Extbase Action  
> called in devlog.
>
> Problem: I still have a full HTML page returned on response.
>
> This is the important part of the Code:
>
> public function dispatch() {
>         (...)
>         $request = $this->buildRequest();
> //-> here the call of my Extbase Controller/Action is successful
>
>         $response =  
> $this->objectManager->create('Tx_Extbase_MVC_Web_Response');
>
>         $dispatcher =   
> $this->objectManager->get('Tx_Extbase_MVC_Dispatcher');
>         $dispatcher->dispatch($request, $response);
> //-> response is a full HTML backend page. It contains the "return  
> json_encode($test);" inside <body> tag.
>
>         $response->sendHeaders();
>         return $response->getContent();
>     }
>
> Currently I think about a starting and finishing string in my return  
> value. Then i can get a substring from $response before sending it.  
> But thats really ugly... any better ideas?
>
> Best regards,
> Andrea
>
>
> Quoting Andrea Schmuttermair <abo at schmutt.de>:
>
>> Hello,
>>
>> how can I create a ajax call in TYPO3 Backend using Extbase?
>> In Frontend, I usually configure typeNum for Ajax rendering, but I  
>> have no idea how to do that in a Backend Module.
>> With this code, I get a successful Ajax return, but its content is  
>> a complete HTML Page returned with <head> and everything.
>> Important: needs to be running on TYPO3 Version 4.5
>>
>> Controller:
>>
>> class Tx_Test_Controller_TestController extends  
>> Tx_Extbase_MVC_Controller_ActionController {
>>
>>    public function testAjaxAction() {
>>         $test = array('test'=>1, 'test2'=>2);
>>         return json_encode($test);
>>    }
>> }
>>
>> Fluid:
>>
>>
>> <script type="text/javascript">
>>  Ext.Ajax.request({
>>    url: '<f:uri.action action="testAjax" />',
>>    timeout: 60000,
>>    method: 'GET',
>>    scope: this,
>>    params: '',
>>    success: function(resp) {
>>        console.log(resp);
>>    },
>>
>> });
>>
>> Thanks for any advice!
>> Andrea
>>
>>
>> _______________________________________________
>> TYPO3-project-typo3v4mvc mailing list
>> TYPO3-project-typo3v4mvc at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-project-typo3v4mvc
>
>
>
> _______________________________________________
> TYPO3-project-typo3v4mvc mailing list
> TYPO3-project-typo3v4mvc at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-project-typo3v4mvc





More information about the TYPO3-project-typo3v4mvc mailing list