navigieren Sie zu einer anderen Seite mit post-Anforderung über link
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript">
function DoPost(){
$.post("index.html", { name: "John", time: "2pm" } );
}
</script>
</head>
<body>
<a href="javascript:DoPost()">GO</a>
</body>
</html>
Machte ich-Funktion und versuchen, rufen Sie die Funktion, innerhalb der Funktion, die ich erwähnt-url und Daten wie bereits erwähnt hier. Aber, Es ist nicht für mich arbeiten.
HINWEIS : Auch erwähnte ich in meinem post-Titel, dann auch möchte ich klarstellen, dass ich möchten, navigieren Sie zu einer anderen Seite mit POST
Methode durch einfache hyperlinks.
Sie wissen, dass
Ok... aber ich möchte dies einfach link, so ist es eine Möglichkeit, dies durchzuführen. ?
Gut, ein Formular ist einfacher als diese Lösung imho. Mit
$.post
macht eine AJAX
Anfrage? Wenn Sie möchten, navigieren Sie mittels einer POST
Wunsch können Sie ein Formular verwenden.Ok... aber ich möchte dies einfach link, so ist es eine Möglichkeit, dies durchzuführen. ?
Gut, ein Formular ist einfacher als diese Lösung imho. Mit
$.post
Sie könnte nehmen Sie die Antwort und schreiben Sie es auf das Dokument, aber das ist nicht genau das gleiche wie das laden einer neuen Seite. Also, Nein, es ist nicht möglich, mit einem link oder JavaScript.InformationsquelleAutor Ravi | 2013-06-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstellen Sie ein html-Formular mit all den Daten, die Sie brauchen, um zu senden, und geben Sie als Aktion die Seite, die Sie brauchen, um Benutzer weiterleiten.
Dann setzen einige versteckte Felder in das Formular.
Wickeln Sie diese in Ihrer doRedirect Funktion und die Umleitung funktioniert zwar korrekt Absenden Ihrer POST-Daten.
Als eine Randnotiz, Sie können das umleiten der Benutzer zu einer .php-Seite nicht ein .html ein, wenn Sie Lesen müssen, POST-Daten. Dies hängt von Ihrer server Konfiguration, aber, per default, ich glaube nicht, dass Sie können ausführen, PHP code in einer .html-Datei.
Denken Sie daran doRedirect wird nur funktionieren, wenn DOM ist fertig... Keine große Sache, du, da zeigen Sie es in einen link. Ich würde empfehlen, die form vor dem link zeigt die doRedirect Funktion. Bye!
InformationsquelleAutor Saturnix
Ich weiß, diese Frage ist fast 4 Jahre alt und es ist bereits eine akzeptierte Antwort, aber ich würde gerne eine alternative Lösung sowie darauf hinweisen, Ihre Fehler.
Teil 1: Die Lösung
Die konventionelle Lösung für die Navigation mit einem
POST
Antrag ist ein Formular, das die akzeptierte Antwort verwendet. Ich Baue am Anfang dieser präsentiert eine Lösung zum programmgesteuerten erstellen von Formularen mithilfe von DOM.Ich verwendet
index.html
wie pro Ihre original-code, aber ich würde die akzeptierten Antworten auf die Hinweise und verwenden Sie PHP, um zu akzeptieren und zu verarbeiten, diePOST
Daten.Teil 2: Das Problem
Das Hauptproblem mit dem original-Lösung ist, dass es verwendet werden
$.post
eine Hilfsfunktion baut auf$.ajax
. AJAX ist sollte verwendet werden, wenn das abrufen von Daten von einem server und verwenden Sie es innerhalb der aktuellen Seite, sondern als die Navigation zu einer anderen Seite.document.removeChild(form);
aber der springende Punkt ist die Navigation von der Seite Weg, so dass es wirklich keine Rolle spielt 😛 . Tolle Lösung, ich werde dies auf mein Projekt.InformationsquelleAutor robbie0630
InformationsquelleAutor ihorsl
Endlich habe ich es geschafft, aber nicht genau, wie ich es wollte. Aber es ist hilfreich für mich. Nun, die Freigabe für andere
InformationsquelleAutor Ravi
Diese sollte funktionieren.
Ähnlich wie eine Antwort, aber eine bessere.
InformationsquelleAutor IamMHussain
Was meinst du es funktioniert nicht? Wie kann es funktionieren, wenn du post-Ergebnisse einer einfachen
.html
Seite?Den
$.post
- Funktion ist eine Abkürzung für$.ajax
, die fand ich immer einfacher zu Lesen und zu Debuggen! Bitte schaut nochmal in den link, den Sie zur Verfügung gestellt, und sehen Sie die Beispiele unten auf der Seite!Beispiel:
Update: Nein, sollte es nicht gehen, um die
index.html
. Was der code tatsächlich tut, ist das senden von post-Variablen an eine.html
Seite, also im Grunde ist es nicht viel zu tun hat. Das heißt, Sie können tun, was Sie wollen mit vielen verschiedenen Lösungen, siehe zwei von Ihnen unter:Können Sie entweder fügen Sie eine
done
Veranstaltung auf der$.post
Funktion, zum Beispiel:$.post("test.php", { name: "John", time: "2pm" } ).done(function() { alert("Success, do the redirection here!"); });
Oder vielleicht vielleicht redirect über get-Variablen statt der post? zum Beispiel:
window.location = "index.php?username=blah&pass=blah";
und mit Ihnen umgehen in der php-Seite.
ps. die obige Lösung ist natürlich für Testzwecke, wenn Sie diesen Weg zu gehen, haben Sie irgendwie verschlüsseln Sie Ihre Daten!
GO
es sollte zuindex.html
Seite wie bereits erwähnt inurl
Wert. Aber, nichts passiert, nach mir, es funktioniert nicht.so verwenden Sie @Vahe Yepremyan ' s Lösung
Ich bitte Sie, bitte Lesen Sie meine post. Da brauche ich post-Anfrage, wenn es nicht möglich ist, dann lasst es mich bitte wissen. Da Vahe Lösung ist einfach javascript wechseln Sie zu einer anderen Seite.
Sie schrieb es verschoben werden sollte, um index.html Seite. So, dass war die Lösung. Wenn Sie erwarten, dass etwas anderes, bitte beschreiben Sie es in Ihrer Frage, weil Sie nicht genau sind.
kann sein das ich mich Irre während Sie erklären mein problem, aber wenn Sie sehen, erwähnte ich meinen post-Titel
with post request
. Kann sein, dass du verpasst, dass.InformationsquelleAutor Dennis Tsoumas