Извлечение возвращаемых данных Ajax в jQuery
Вопрос
Я выполнил jQuery и Ajax, но не могу получить ответ в элемент Div.Это код:
Индекс.html
$.ajax({
type:"POST",
url: "ajax.php",
data:"id="+id ,
success: function(html){
$("#response").html(data);
}
});
Он получает ответ на мое <div id="response"></div>
.
А ajax.php
возвращает следующий код в index.html
файл:
<div id ="one"> OneVal </div>
<div id ="sub"> SubVal </div>
Смогу ли я извлечь OneVal и Subval в переменную и как мне извлечь «OneVal» и «SubVal» вместо приведенного выше ответа?
Решение
Вы можете использовать .filter
для объекта jQuery, созданного на основе ответа:
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();
}
Другие советы
Изменить .find
к .filter
...
Я заметил, что ваша функция успеха имеет параметр «html», и вы пытаетесь добавить «данные» к своим элементам. html()
...Измените его так, чтобы они оба совпадали:
$.ajax({
type:"POST",
url: "ajax.php",
data:"id="+id ,
success: function(data){
$("#response").html(data);
}
});
Вы можете использовать json
как в следующем примере.
PHP код:
echo json_encode($array);
$array
— это данные массива, а код 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);
}
Вы также можете использовать jQuery контекст параметр. Ссылка на документы
Контекст селектора
По умолчанию селекторы выполняют свои поиски в DOM, начиная с корня документа.Однако для поиска можно привести альтернативный контекст с помощью необязательного второго параметра для функции $ ()
Поэтому вы также можете иметь:
success: function(data){
var oneval = $('#one',data).text();
var subval = $('#sub',data).text();
}
об успехе:функция (ответ) { alert(response.d);}