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

jQuery.ajax JSON-Variable als „data“-Wert angeben

Hi!
Ich sitze gerade an einem kleinen Problem. Ich möchte eine JSON-Datei von einem externen Server holen und dann bei mir in einer Datei speichern. Soweit, so gut – das holen des JSON-Strings funktioniert schon, und die Speicher-Methodik auch – aber nur, wenn ich explizit einen String angeben. Nicht aber, wenn ich die Variable mit meinem JSON-String angebe ... Hier mal der Code:

Code:
  .done(function( json ) {
     var json_string = JSON.stringify(json);
     $.ajax({
       type: "GET",
       dataType : 'json',
       async: false,
       url: 'save-json.php',
       data: { data: json_string },
     });   
   });

Vorher hole ich mir mit $.getJSON den JSON-String. Wenn ich jetzt die Zeile mit den zwei data's durch folgendes ersetze:

Code:
data: { data: "String"},

dann wird in eine JSON-Datei String geschrieben. Allerdings funktioniert es halt nicht, wenn ich die Variable data angebe, die meinen JSON-String beinhaltet ...

Weiß da jemand einen Rat? Mit alert(json_string); kann ich mir den JSON-String ausgeben lassen, das funktioniert also (wobei es ja nicht wirklich ein String ist, da keine Anführungszeichen außerhalb der geschweiften Klammern sind – das scheint irgendwie das Problem zu sein?)
 
Werbung:
Werbung:
Das ist ja das Problem, er kommt nicht beim PHP-Skript an (denke ich jedenfalls mal, da es mit einem normalen String ja funktioniert).

Bzw wie kann ich denn das var_dump testen, wenn der Aufruf aus einer anderen Datei passiert? :oops:
 
Das ist ja das Problem, er kommt nicht beim PHP-Skript an (denke ich jedenfalls mal, da es mit einem normalen String ja funktioniert).

Bzw wie kann ich denn das var_dump testen, wenn der Aufruf aus einer anderen Datei passiert? :oops:

Einfach im Firebug auf den Netzwerk-Tab und unten "XHR" auswählen. Dann die Ajax-Requests auslösen. Im Tab "Antwort" siehst du dann was der Server geantwortet hat.

Eigentlich siehst du auch gleich was der Browser abgeschickt hat.
 
... Laut Entwickler-Tools scheint die URI zu lang zu sein. Bekomme einen Status-Code 414 ...

Edit: Habe jetzt "POST" verwendet – funktioniert! Vielen Dank @scbawik für den rettenden Hinweis mit den Entwickler-Werkzeugen :)
 
Werbung:
Zurück
Oben