Extraction des données de retour Ajax dans jQuery
Question
J'ai fait jQuery et Ajax, mais je ne parviens pas à obtenir la réponse dans un élément Div. C'est le code:
Index.html
$.ajax({
type:"POST",
url: "ajax.php",
data:"id="+id ,
success: function(html){
$("#response").html(data);
}
});
Il reçoit la réponse à mon <div id="response"></div>
.
Le ajax.php
renvoie le code suivant au index.html
fichier:
<div id ="one"> OneVal </div>
<div id ="sub"> SubVal </div>
Pourrai-je extraire OneVal et Subval dans une variable et comment puis-je extraire & "OneVal &"; et " SousVal " ;, au lieu de la réponse ci-dessus?
La solution
Vous pouvez utiliser .filter
sur un objet jQuery créé à partir de la réponse:
success: function(data){
//Create jQuery object from the response HTML.
var $response=$(data);
//Query the jQuery object for the values
var oneval = $response.filter('#one').text();
var subval = $response.filter('#sub').text();
}
Autres conseils
Remplacez .find
par .filter
...
J'ai remarqué que votre fonction de succès a le paramètre & "; html &"; et vous essayez d'ajouter & "; données &"; à vos éléments html()
... Modifiez-le pour que ces deux éléments correspondent:
$.ajax({
type:"POST",
url: "ajax.php",
data:"id="+id ,
success: function(data){
$("#response").html(data);
}
});
Vous pouvez utiliser json
comme dans l'exemple suivant.
code PHP :
echo json_encode($array);
$array
sont des données de tableau et le code jQuery est:
$.get("period/education/ajaxschoollist.php?schoolid="+schoolid, function(responseTxt, statusTxt, xhr){
var a = JSON.parse(responseTxt);
$("#hideschoolid").val(a.schoolid);
$("#section_id").val(a.section_id);
$("#schoolname").val(a.schoolname);
$("#country_id").val(a.country_id);
$("#state_id").val(a.state_id);
}
Vous pouvez également utiliser le paramètre context de jQuery. Lien vers la documentation
Contexte du sélecteur
Par défaut, les sélecteurs effectuent leurs recherches dans le DOM à partir à la racine du document. Cependant, un autre contexte peut être donné pour la recherche en utilisant le second paramètre optionnel de la fonction $ ()
Par conséquent, vous pourriez également avoir:
success: function(data){
var oneval = $('#one',data).text();
var subval = $('#sub',data).text();
}
en cas de succès: function (response) {alert (response.d); }