Извлечение данных возврата Ajax в jQuery - PullRequest
42 голосов
/ 30 декабря 2008

Я сделал jQuery и Ajax, но я не могу получить ответ в элемент Div. Это код:

Index.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" вместо ответа выше?

Ответы [ 6 ]

83 голосов
/ 30 декабря 2008

Вы можете использовать .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();
}
17 голосов
/ 31 декабря 2008

Измените .find на .filter ...

12 голосов
/ 24 августа 2011

Я заметил, что ваша функция успеха имеет параметр "html", и вы пытаетесь добавить "данные" к вашим элементам html() ... Измените его так, чтобы они оба соответствовали:

$.ajax({
    type:"POST",
    url: "ajax.php",
    data:"id="+id ,
    success: function(data){
        $("#response").html(data);
    }
});
3 голосов
/ 09 декабря 2012

Вы можете использовать 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);
}
2 голосов
/ 11 сентября 2015

Вы также можете использовать параметр jQuery context . Ссылка на документы

Контекст селектора

По умолчанию селекторы выполняют поиск в старте DOM в корне документа. Тем не менее, альтернативный контекст может быть дан для поиск с использованием необязательного второго параметра функции $ ()

Поэтому вы также можете иметь:

success: function(data){
    var oneval = $('#one',data).text();
    var subval = $('#sub',data).text();
}
0 голосов
/ 20 ноября 2015

в случае успеха: функция (ответ) {alert (response.d); }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...