Sorry das ich euch nicht auf dem laufenden gehalten habe.

ich benutze auch JSON via eID für eine eigene Suchmaschine, da mir das
gesamte Framework zu langsam war. Auf die Usersession komme ich so:

aber das habe ich mittlerweile auch hinbekommen.

Aber das ganze ist so gedacht, dass ich zwei Buttons - größere und kleiner 
Schrift - habe.

Das ganze habe ich so gelöst:
?php

use TYPO3\CMS\Core\Utility\GeneralUtility;

$returnData = null;
$TSFE = \TYPO3\CMS\Core\Utility\GeneralUtility::_GP('TSFE');
if (!$TSFE) {
 /** @var \TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController $TSFE */
 $TSFE = GeneralUtility::makeInstance(
   'TYPO3\\CMS\\Frontend\\Controller\\TypoScriptFrontendController',
   $TYPO3_CONF_VARS,
   0,
   0
 );
 $TSFE->initFEuser();
 $returnData['TSFE'] = $TSFE;
}

$type = \TYPO3\CMS\Core\Utility\GeneralUtility::_GP('action');
switch ($type) {
 case 'lese':
   $returnData['value'] = $TSFE->fe_user->getKey('ses', 'test');
   break;
 case 'schreibe':
   $value = \TYPO3\CMS\Core\Utility\GeneralUtility::_GP('input');
   $TSFE->fe_user->setKey('ses', 'test', $value);
   break;
}
echo json_encode($returnData);

das JS:
var TSFE = null;

$().ready(function() {
 $('button').on('click', function() {
   var type = $(this).attr('id');
   var inputData = $('#testinput').val();
   $.ajax({
     url: 'index.php',
     method: 'POST',
     data: {
        'eID': 'KKSoftwareIndexController::storeSession',
        'input': inputData,
        'action': type,
        'TSFE': TSFE
     },
     success: function(result) {
       result = jQuery.parseJSON(result);
        TSFE = result.TSFE;
        if (type == 'lese') {
          alert(result.value);
        }
     }
   });
 });
});

Beim 1.Klick funktionierts - FE-User wird dann initialisiert und dann an AJAX 
zurückgeliefert.
Beim 2. Klick bekommet der PHP Teil dann das Bereits initialisierte Objekt - 
aber leider nicht als
TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController sondern nur als Array 
==> Das TSFE wird neu initialisiert und meine Sessiondaten sind somit wieder 
leer.

Und auch wenn das soweit funktionieren würde bin ich trotzdem sehr an der 
Lösung interessiert wieso mein Ajax mit der f:link.action-Methode nicht 
funktioniert.
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an