Domanda

Ho fatto jQuery e Ajax, ma non sono in grado di ottenere la risposta in un elemento Div. Questo è il codice:

index.html

$.ajax({
    type:"POST",
    url: "ajax.php",
    data:"id="+id ,
    success: function(html){
        $("#response").html(data);
    }
});

Sta ricevendo la risposta al mio <div id="response"></div>.

Il ajax.php restituisce il seguente codice al index.html file:

<div id ="one"> OneVal </div>
<div id ="sub"> SubVal </div>

Potrò estrarre OneVal e Subval in una variabile e come posso estrarre " OneVal " e " SubVal " ;, anziché sopra la risposta?

È stato utile?

Soluzione

È possibile utilizzare .filter su un oggetto jQuery creato dalla risposta:

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();
}

Altri suggerimenti

Cambia .find in .filter ...

Ho notato che la tua funzione di successo ha il parametro " html " ;, e stai provando ad aggiungere " data " ai tuoi elementi html() ... Modificalo in modo che corrispondano entrambi:

$.ajax({
    type:"POST",
    url: "ajax.php",
    data:"id="+id ,
    success: function(data){
        $("#response").html(data);
    }
});

Puoi usare json come nell'esempio seguente.

codice PHP :

echo json_encode($array);

$array sono i dati dell'array e il codice jQuery è:

$.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);
}

È inoltre possibile utilizzare il parametro contesto di jQuery. Link ai documenti

  

Contesto selettore

     

Per impostazione predefinita, i selettori eseguono le ricerche all'interno dell'avvio del DOM   nella radice del documento. Tuttavia, è possibile fornire un contesto alternativo   la ricerca utilizzando il secondo parametro opzionale per la funzione $ ()

Pertanto potresti anche avere:

success: function(data){
    var oneval = $('#one',data).text();
    var subval = $('#sub',data).text();
}

in caso di successo: funzione (risposta) {alert (response.d); }

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top