• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

ajax type "post" doch keine Daten kommen an

Andy Nagel

Mitglied
Hallo zusammen,

ich würde gerne Daten an eine Datei, die eine sql Anweisung enthält, weitergeben und hier weiterverarbeiten:

Code:
$.ajax({
   type: "POST",
   url: "SaveView.php",
   contentType: "application/json; charset=utf-8",
   data: { ID: IDS, DB: DBName, Table: TableName, View: ViewSub },
   success: function(data) {alert(data)}
   });
PHP:
$ID = $_GET['ID'];
$Table = $_GET['Table'];
$DB = $_REQUEST['DB'];
$View = $_REQUEST['View'];

$msg = "UPDATE `$DB`.`$Table` SET Sub = $View WHERE ID = $ID";
$Ergebnis = mysql_query("UPDATE `$DB`.`$Table` SET Sub = $View WHERE ID = $ID") or
  die($msg);

Doch ist nie etwas von den gesendeten Werten zu sehen! Also was ist hier bitte falsch=

Ich bedanke mich schonmal bei Euch und freue mich auf jede Hilfe für die ich mich bereits jetzt bei Euch bedanken will.

Also bis dann, Danke, Gruß Andreas
 
Zuletzt bearbeitet von einem Moderator:
Werbung:
Hallo,

Grundsätzlich ist es erstmal falsch, die mysql_* Erweiterung zu verwenden. In PHP7 ist diese Gott sei Dank bereits entfernt, Dein Script würde damit also nicht mehr laufen.
Meine Empfehlung: http://www.php-rocks.de/thema/49-ein-kurzer-einstieg-in-pdo-und-prepared-statements.html
Es gibt zudem aber auch noch MySQLi.

Die DB Connection hast Du hoffentlich nur für das Forum entfernt, denn ohne die läuft myql_query ins Leere.

Allgemein kannst Du debuggen, indem Du per echo im PHP-Script ausgibst, was sich in den Variablen befindet, bspw. auch die Query. Der XHttpRequest sollte die Ausgabe als "Antwort" zurückbekommen und Dein alert(data) müsste dies ausgeben.

So kannst Du Dich Schritt für Schritt rantasten.

Warum verwendest Du $_REQUEST und $_GET? Du sendest die Daten per POST, dan stehen die auch dort drin: $_POST.
In $_GET findet sichin dem Fall gar nichts wieder und $_REQUEST ist eine Collection aus $_POST und $_GET, also nur was für Entwickler, die nicht wissen, was sie tun.
 
Streich mal die Zeile "contentType:"application/json; charset=utf-8",", die ist zum Einen nicht zwingend notwendig und zum anderen kommt so wie deine PHP-Datei aussieht auch gar kein JSON zurück.

Du solltest mit der .fail() -methode überprüfen, ob der Request überhaupt ausgeführt wird, sanschließend überprüfe folgende Punkte:
  • Alle verwendeten Variablen existieren auch mit genau demselben Namen
  • jQuery ist korrekt eingebunden
  • Der Pfad zu der verarbeitenden PHP-Datei ist korrekt
Und dass bei der success Funktion nichts zurückkommt, da das PHP-Skript nichts sende ist dir bewusst, oder?

Edit: Auf die PHP-Datei habe Ich jetzt gar nicht geachtet, da der du schriebst, dass keine Daten ankommen
 
Werbung:
Und dass bei der success Funktion nichts zurückkommt, da das PHP-Skript nichts sende ist dir bewusst, oder?
Nur, wenn die DB-Query funktioniert hat kommt nichts zurück! Ansonsten wird über das die() die Query als String an den Ausgabekanal geleitet. In dem Falle würden Daten zurückkommen. Welche ist ne andere Geschichte.
 
Zurück
Oben