Hier ist mein Problem, ich verwende AJAX (jQuery), um ein Formular an process.php
zu senden, aber die Seite muss tatsächlich eine Antwort wie Apple
oder Plum
ausgeben. Ich bin nicht sicher, wie ich die Antwort von process.php
nehmen und als Variable speichern soll ...
Hier ist der Code, den ich bis jetzt habe:
<script type="text/javascript">
function returnwasset(){
alert('return sent');
$.ajax({
type: "POST",
url: "process.php",
data: somedata;
success function(){
//echo what the server sent back...
}
});
}
</script>
Muss ich auch die Antwort in process.php
in json wiederholen? oder wird einfacher Text in Ordnung sein?
Tut mir leid, wenn sich das nach einer dummen Frage anhört, dies ist das erste Mal, dass ich in Ajax so etwas wie das mache.
PS: Wie benenne ich die POST Anforderung im obigen Code?
<?php echo 'Apple'; ?>
ist so ziemlich alles, was Sie auf dem Server benötigen.
wie bei der JS-Seite wird die Ausgabe des serverseitigen Skripts als Parameter an die Erfolgshandler-Funktion übergeben
success: function(data) {
alert(data); // Apple
}
Die gute Praxis ist, so zu verwenden:
$.ajax({
type: "POST",
url: "/ajax/request.html",
data: {action: 'test'},
dataType:'JSON',
success: function(response){
console.log(response.blablabla);
// put on console what server sent back...
}
});
und der PHP-Teil ist:
<?php
if(isset($_POST['action']) && !empty($_POST['action'])) {
echo json_encode(array("blablabla"=>$variable));
}
?>
<script type="text/javascript">
function returnwasset(){
alert('return sent');
$.ajax({
type: "POST",
url: "process.php",
data: somedata;
dataType:'text'; //or HTML, JSON, etc.
success: function(response){
alert(response);
//echo what the server sent back...
}
});
}
</script>
wenn Sie in Ihrer PHP -Datei Ihre Daten bestätigen, verwenden Sie json_encode ( http://php.net/manual/de/function.json-encode.php ).
z.B.
<?php
//Plum or data...
$output = array("data","Plum");
echo json_encode($output);
?>
wenn Ihr Ajax abgeschlossen ist, können die Json-codierten Antwortdaten in ein js-Array umgewandelt werden:
$.ajax({
type: "POST",
url: "process.php",
data: somedata;
success function(json_data){
var data_array = $.parseJSON(json_data);
//access your data like this:
var Plum_or_whatever = data_array['output'];.
//continue from here...
}
});
var data="your data";//ex data="id="+id;
$.ajax({
method : "POST",
url : "file name", //url: "demo.php"
data : "data",
success : function(result){
//set result to div or target
//ex $("#divid).html(result)
}
});