Alors voici mon problème, j'utilise AJAX (jQuery) pour envoyer un formulaire à process.php
, mais la page doit en fait renvoyer une réponse telle que Apple
ou Plum
. Je ne sais pas comment prendre la réponse de process.php
et la stocker sous forme de variable ...
Voici le code que j'ai jusqu'à présent:
<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>
De plus, devrai-je faire écho à la réponse dans process.php
dans json? ou le texte simple ira-t-il bien?
Désolé si cela ressemble à une question stupide, c'est la première fois que je fais quelque chose en tant que tel à Ajax.
PS: Comment nommer la demande POST dans le code ci-dessus?
<?php echo 'Apple'; ?>
est littéralement tout ce dont vous avez besoin sur le serveur.
comme pour le côté JS, la sortie du script côté serveur est transmise en tant que paramètre à la fonction de gestionnaire de réussite, de sorte que vous devez
success: function(data) {
alert(data); // Apple
}
La bonne pratique consiste à utiliser comme ceci:
$.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...
}
});
et la partie php est:
<?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>
dans votre fichier PHP, lorsque vous faites écho à vos données, utilisez json_encode ( http://php.net/manual/en/function.json-encode.php )
par exemple.
<?php
//Plum or data...
$output = array("data","Plum");
echo json_encode($output);
?>
dans votre code javascript, lorsque votre ajax est terminé, les données de réponse codées en json peuvent être transformées en un tableau js comme ceci:
$.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)
}
});