Ich bekomme ums verrecken das Ajax nicht ordentlich hin...aber ich kann das Problem einfach nicht erkennen.
Hier meine Vorgehensweise:
Typoscript Setup im root-Template
ajaxCall = PAGE
ajaxCall {
typeNum = 123456789
# Hier werden die Plugins definiert, die Ajax verwenden
10 < plugin.tx_myext_pi1
config {
disableAllHeaderCode = 1
xhtml_cleaning = 0
admPanel = 0
debug = 0
no_cache = 1
}
}
class.tx_myext_pi1.php
$typeNum = $GLOBALS['TSFE']->type;
if ($typeNum == 0) { echo 'normaler content'; }
if ($typeNum == 123456789) {
print_r($_GET);
print_r($_POST);
}
Die Links, mit denen ich den Ajax-Request aufrufe sehen so aus:
<a href="javascript: doAjax(5,5)" title="doAjax" class="doajax" id="doajax_#id#">#id#</a>
Hier das Javascript, dass den Request verarbeitet (mootools):
function doajax(param1, param2) {
// 123456789 = Ajax-Request typeNum
// Ajax-Request
var req = new Request.HTML({
url: 'http://website.com/seite/nochneseite.html?type=123456789',
urlEncoded: false,
method: 'get',
data: {'data1' : 'foo', 'data2' : param1, 'data3' : param2},
onRequest: function() {
$('content').set('html', '');
$('spinner').setStyle('display', 'block');
},
update: $('content'),
onComplete: function(response) {
$('spinner').setStyle('display', 'none');
}
}).send();
}
Die Ausgabe im Frontend verhält sich dabei sehr komisch. Manchmal komm ich gar nicht in die "typeNum == 123456789" Sektion in PHP rein, und erhalte gar keine Ausgabe. Dann verändere ich z.B. im JS das Post-Verhalten von "post" auf "get", und plötzlich gehts wieder für ein paar mal.
Das $_POST Array ist immer leer, das $_GET Array gibt manchmal die Daten weiter, auch recht unverständlich...
Hab ich irgendeine Einstellung vergessen, weil sich das Ganze so seltsam verhält? Normalerweise sollte das doch so funktionieren, oder?