Ich habe eine Funktion, die eine Ajax-Anfrage für irgendeinen Anker macht. Die Anfrage-Methode kann GET oder POST sein. In diesem Fall möchte ich einen POST erstellen, ohne ein Formular zu verwenden, aber die Ajax-Anforderung gibt einen Fehler aus, bevor die Anforderung gesendet wird. Der Fehler hat den Wert "error" und alle Fehler- / Fehlerbeschreibungsvariablen sind "".
%Vor%Wenn die Funktion aufgerufen wird, sind die Parameter diese (kopiert von der js-Konsole):
%Vor%Wie gesagt, hier ist der Code, der die loadPage-Funktion aufruft.
%Vor%Nach dem Fehlschlagen der Ajax-Anfrage wird die Anfrage standardmäßig gestellt und sie antwortet auf den Erfolg. In allem, was ich gelesen habe, scheint dies ein gültiger Weg zu sein, eine POST-Anfrage zu machen (die kein Formular benötigt).
Mache ich etwas falsch in der Funktion? Warum ist die Fehlerinformation leer?
Danke
BEARBEITEN:
Ich habe für einen POST von einer "Form" gedacht, dass Funktion funktioniert, wenn die Variable "Daten" mit der Serialisierungsfunktion erstellt wird (z. B. "var data = $ (this) .serialize ();"). Könnte es sein, dass das Format der "Daten", wenn ich einen POST ohne "Formular" mache, irgendwie falsch ist? Möglicherweise akzeptiert die JQuery Ajax-Funktion keine einfache Zeichenfolge wie "partially = yes" als Daten, wenn ein POST erstellt wird. Irgendwelche Gedanken dazu?
Konnte das Problem nicht lösen, noch konnte er den Grund dafür finden. Obwohl ich einen Weg gefunden habe, benutze ich ein verstecktes leeres Formular anstelle eines Ankers mit der Methode 'POST'. Für ein Formular funktionierte die Funktion gut.
Danke für die Antworten
Ich habe gerade dieses Problem erlebt und nach einer oder zwei Stunden dachte ich, ich versuche, Cache auf false zu setzen. Das hat es für mich behoben.
%Vor% Leider, als ich den Cache wieder entfernte, funktionierte meine Anfrage so, als hätte sie nie ein Problem gehabt. Es sieht so aus, als ob cache:false
etwas "klicken" würde.
Na gut.
Versuchen Sie:
%Vor%Ich frage mich, ob Sie ein Problem mit einer Variablen haben, die nach einem Schlüsselwort benannt ist. Wenn dies nicht funktioniert, versuchen Sie, loadPage ohne Argumente aufzurufen und alle ajax-Parameter hart zu codieren, nur um zu sehen, ob das funktioniert.
Nur eine Vermutung, aber in den Dokumenten steht der Typparameter in Großbuchstaben, dh 'POST'
und nicht 'post'
.
Tags und Links javascript jquery ajax post