dedlfix: PHP/jQuery: übergebene Variablen werden scheinbar ignoriert

Beitrag lesen

Tach!

$('div.ButtonHauptmenue, div.ButtonUntermenue').click(function()
{
   alert (AuswahlHauptmenue);

$.ajax(
   {
      type:    'POST',
      url:     'Index.php',
      data:    $('#Sidebar').serialize(),
      success: function(response)
      {
         alert (AuswahlHauptmenue);
         alert (response);
         Navigation (AuswahlHauptmenue, AuswahlUntermenue);
      }
   });
});

Der erste alert-Befehl liefert mir immer 0, ebenso der alert-Befehl im success-Block.

Dass die beiden alert()s nur eine 0 liefern, wird daran liegen, dass diese in der Variable drinsteht.

response hingegen liefert mir u.a. AuswahlHauptmenue = 5, also zumindest hier eine korrekte Aktualisierung.

Aktualisierung wovon? In response steht nur das, was der Ajax-Request liefert, gegebenenfalls umgewandelt, je nach dataType. Diese Eigenschaft hast du nicht gesetzt, also passiert laut Dokumentation ein "Intelligent Guess" abhängig vom Content-Type der Response. Es sieht bei dir so aus, also ob da nur ein einfacher String kommt.

Warum wird dann aber dieser Wert nicht in der Funktion berücksichtigt?

Berücksichtigt von wem? Einfache Strings werden nicht automatisch von einem magischen Wesen berücksichtigt.

Vielleicht möchtest du auf PHP-Seite eine JSON-Antwort erzeugen, so dass du hier ein JSON-Objekt entgegennehmen kannst, dessen Werte du dann verwenden kannst.

dedlfix.