PHP + jQuery + Ajax Formular submission - return-Ergebnisse auf der gleichen Seite
Ich würde gerne Folgendes haben:
Benutzer ein Formular abschickt, werden durch einen Klick (index.php
), die Eingabe in ein Formular verarbeitet wird, wird eine externe PHP-Datei (search.php
) und die Ergebnisse sind veröffentlicht auf der ursprünglichen Seite (index.php
) in einem div.
Ich haben schon zusammen die meisten der code. Es gibt ein Formular, das auf eine klicken Sie auf und sendet Sie an ein PHP-Skript.
Was würde ich jetzt brauchen, ist, dass das Ergebnis aus dem PHP-Skript gegeben werden zurück zu der ursprünglichen Seite (index.php
).
Hier ist mein code bisher:
function submit() {
$(function() {
var id = "id";
var dataString = 'id=' + id;
$.ajax({
type: "POST",
url: "inc/search.php",
data: dataString,
success: function() {
goToByScroll("result");
$('#result').html("<br><br><br><br><br><br><br><br><br><br><
div class='center'><img src='img/loader.gif' /></div>").hide().fadeIn(2500, function() {
$('#result').html("Finished");
});
}
});
return false;
});
}
Meiner PHP-Datei (zum testen) ist:
<?php function safe($value)
{
htmlentities($value, ENT_QUOTES, 'utf-8');
return $value;
}
if (isset($_POST['id'])) {
$id = safe($_POST['id']);
echo ($id);
}
elseif (!isset($_POST['id'])) {
header('Location: error?id=notfound');
} ?>
Möchte ich die Ergebnisse aus search.php
(in diesem Fall "id") veröffentlicht in #Ergebnis, aber ich kann nicht herausfinden, wie :S
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube, du hast fast alles. Die callback-Funktion, die Ihnen unter
success
braucht ein argument, das steht für die Ergebnisse vonsearch.php
res
ist alles, was ausgegeben werdensearch.php
. Echo, das Zeug außerhalb von php-tags, etc. Alles, was Sie sehen würden, wenn Sie geladensearch.php
selbst.Ich weiß nicht, ob Sie wollte "Fertig", um noch da sein. Nehmen Sie es aus, wenn Sie nicht.
Einen parameter hinzufügen, um Ihren Erfolg Funktion, z.B.:
Der Parameter ist eine Zeichenkette, die ALLE die Ausgabe der server-Seite Skript. Sie können festlegen, dass was auch immer Sie möchten, es zu sein, und legen Sie Sie im inneren einige element
echo("ID Not Found");
. Dann in der success Funktion tun:$("#results").html(param);
und das sollte funktionieren.