Es gilt immer noch im TypoScript?
=======================================
ajax = PAGE
ajax {
typeNum = 99
config {
disableAllHeaderCode = 1
additionalHeaders = Content-type:application/json
admPanel = 0
debug = 0
}
10 < tt_content.list.20.kksession2_kksession2
==================================
Wie sieht denn deine Plugin-Definition aus? Nicht, dass das
kksession2_kksession2 gar nicht mehr definiert ist.
Probiere aus, ob überhaupt dein Page-Type gezogen wird. Da du die
aktuelle Seite angezeigt bekommst, scheint dein TypeNum nicht zu greifen.
=======================================
ajax = PAGE
ajax {
typeNum = 99
config {
disableAllHeaderCode = 1
additionalHeaders = Content-type:application/json
admPanel = 0
debug = 0
}
10 = TEXT
10.value = Ich funktioniere wirklich
10.wrap = <h1>|</h1>
==================================
Gib mal zusätzlich beim <f:uri> den Namen des Plugin an, zu welchem die
Action und der Controller gehören. (Attribute pluginName) Wenn ich mich
richtig erinnere, sollte es dann auch ohne Pagetype funktionieren.
> public function sessionAction() {
> return $this->view->assign('wert', 'test');
> }
Ist Unsinn, weil
a) das 'return' in einer Action verhindert, dass der View ausgeführt
wird (laut Anmerkung zur Frage 3.3 in "TYPO3 CMS Certified Develeoper)
b) $this->view->assign('wert', 'test'); nur $this zurückgibt.
Dieter
Am 17.06.2017 um 14:09 schrieb David Brünner:
Dann solltest du
sie auch als sessionAction bezeichnen
Das hatte ich schon Probiert.
Habe aber jetzt mal zwei Varianten - zwei versch. Controller - getestet:
IndexController:
<?php
namespace KKSoftware\Kksession\Controller;
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
class IndexController extends ActionController {
public function indexAction() {
}
public function sessionAction() {
$this->view->assign('test', 'wert');
}
}
SessionController:
<?php
namespace KKSoftware\Kksession\Controller;
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
class SessionController extends ActionController {
/**
* @var \TYPO3\CMS\Extbase\Mvc\View\JsonView
*/
protected $view;
/**
* @var string
*/
protected $defaultViewObjectName =
\TYPO3\CMS\Extbase\Mvc\View\JsonView::class;
public function sessionAction() {
return $this->view->assign('wert', 'test');
}
}
Und in meinem View dann:
<script>
var ajaxUrl = '<f:uri.action action="session" controller="Index"
pageType="99"/>'; <!-- Controller: Index -->
</script>
oder
<script>
var ajaxUrl = '<f:uri.action action="session" controller="Session"
pageType="99"/>'; <!-- Controller: Session -->
</script>
Im Templates/Session/Session.html bzw. Templates/Index/Session.html
steht immer nur: {wert}
Beide Fälle liefern das gleiche Ergebnis. Ich bekomme immer das zurück
geliefert - den Inhalt der aktuellen Seite.
Also ich meine die Entwicklerkonsole zeigt im Response-Tab die
aktuelle Seite an.
Das sagt die Entwicklerkonsole:
Request
URL:http://localhost/typo8/index.php?id=1&type=99&tx_kksession_kksession%5Baction%5D=session&tx_kksession_kksession%5Bcontroller%5D=Session&cHash=79997d7538aed3f47cc54a1884861aae
Request Method:POST
Status Code:200 OK
bzw.
Request
URL:http://localhost/typo8/index.php?id=1&type=99&tx_kksession_kksession%5Baction%5D=session&tx_kksession_kksession%5Bcontroller%5D=Index&cHash=110588b4f0d2913288e34c9d28da1e0b
Request Method:POST
Status Code:200 OK
Obwohl mein JS $().ready(function () {
$.ajax({
url: ajaxUrl,
type: 'post',
dataType: 'json',
success: function(result) {
alert(result);
},
error: function(result) {
console.log('ERROR');
console.log(result);
}
});
});
mir nicht den erwarten alert() ausgibt sondern den Error-Teil.
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
--
----
Dr. Dieter Porth - Web-Entwickler
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german