Приклеивание содержимого.загрузить в переменную


Можно ли использовать jQuery .load и вставить загруженное содержимое в переменную, чтобы я мог использовать переменную и добавить ее к чему-то еще позже?

5 2

5 ответов:

Можно, но в этом нет необходимости. Используйте $.get метод прямого доступа к ответу вместо этого.

$.get("foo.php",function(response){
    console.log(response);
});

Если вы хотите сделать и то, и другое (т. е. загрузить ответ в div и использовать возвращенные данные), вы можете использовать обратный вызов метода $.load аналогичным образом.

Согласно docs:

.load( url [, data] [, complete(responseText, textStatus, XMLHttpRequest)] )

Таким образом, вы можете создать функцию для сохранения вашего ответа:

$('#result').load('ajax/test.html', function(responseText, textStatus, request) {
    alert(responseText);
});

Другой подход заключается в использовании $.получаем или $.post методы:

$.get('ajax/test.html', function(data) {
    $('.result').html(data);
    alert(data);
});

$.post('ajax/test.html', function(data) {
    $('.result').html(data);
    alert(data);
});
$(selector).load(url);

- это просто сокращение для:

$.get(url, data, function(response) {
    $(selecton).replaceWith(response);
});

Вы можете попробовать что-то подобное в AJAX

$.post(yourfile,function(response) {
     //div hidden with the html of your page
      $("#hiddendiv").html(response);
});

Или с get

$.get(yourfile,function(response) {
     //div hidden with the html of your page
      $("#hiddendiv").html(response);
});

В этом случае используйте GET, POST или AJAX метод jquery.
.load метод jquery внутренне использует только асинхронный http-запрос и поэтому все вышеперечисленные методы.