:-D JIPIII :-D

Ich habs!!!!

Der einzige Fehler war die Codierung der URL.
So sieht meine Index.html aus:
<script>
var ajaxUrl = <f:uri.action action="session" pageType="99"/>
</script>

An folgenden URL geht dann der Ajax-Request: xxx?id=1&type=99&...
Der muss aber heißen: xxx?id=1&type=99&
==> & NICHT &

Komisch ist nur das mir dann TYPO3 garnicht mekert.
Auch nix von wegen: Session nicht definiert (wenn der Eintrag für sessionAction 
in der ext_localconf.php fehlt).

Hier mein (fast) vollständiger Code:
IndexController:
<?php
namespace KKSoftware\Kksession\Controller;

use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;

class IndexController extends ActionController {
        public function indexAction() {

        }

        public function sessionAction() {
                /** @var 
\TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController $TSFE */
                $TSFE = $GLOBALS['TSFE'];
                $mode = GeneralUtility::_POST('mode');
                $data = null;
                switch ($mode) {
                        case 'schreibe':
                                $sesVal = GeneralUtility::_POST('sesVal');
                                $TSFE->fe_user->setKey('ses', 'sesVal', 
$sesVal);
                                break;
                        case 'lese':
                                $data = $TSFE->fe_user->getKey('ses', 'sesVal');
                                break;
                }
                return json_encode(['sesVal' => $data]);
        }
}

Index.html
<script>
        var ajaxUrl = '<f:uri.action action="session" pageType="99"/>';
</script>

session.js
$().ready(function () {
        ajaxUrl = ajaxUrl.replace(/&/g, '&');

        $('button').on('click', function() {
                var mode = $(this).attr('data-mode');
                $.ajax({
                        url: ajaxUrl,
                        method: 'POST',
                        dataType: 'json',
                        data: {
                                mode: mode,
                                sesVal: $('#test').val()
                        },
                        success: function (result) {
                                console.log(result);
                        },
                        error: function () {
                                console.log('error');
                        }
                });
        });
});
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an