Jquery load() и добавить
глупый вопрос:
У меня есть:
$('#result').load('ajax/test.html');
но что, если я не хочу вставлять загруженный контент в #result, но добавляю его к #result, сохраняя все элементы прецедента? Можно ли создать переменную, загрузить ее с контентом, а затем добавить или добавить ее к моему #result? Я представляю себе некоторые другие сценарии, где с моей новой переменной я могу манипулировать им, прежде чем вставлять его в DOM.
Ответы
Ответ 1
var response;
$.ajax({ type: "GET",
url: "ajax/test.html",
async: false,
success : function(text)
{
response= text;
}
});
$('#result').prepend('<div>'+response+'</div>');
Вам нужно "async: false", чтобы вы WAIT для ответа. Если вы не дожидаете его (обычный асинхронный вызов Ajax), вы будете иметь переменную undefined в течение неизвестного времени, поэтому это может быть опасно.
РЕДАКТИРОВАТЬ: Как справедливо говорят комментарии, использование "async: false" не является обычным и уродливым. Обычно вы будете манипулировать ответом и вставлять его в DOM внутри обратного вызова. Использование async только потребуется, если вам действительно нужен ответ в переменной, ожидающей, что другая вещь будет использовать эту переменную, а не обычную вещь.
$.ajax({ type: "GET",
url: "ajax/test.html",
success : function(text)
{
$('#result').prepend('<div>'+text+'</div>');
}
});
Ответ 2
Вы имеете в виду что-то вроде этого?
var content;
$.get('ajax/test.html', function(data){
content= data;
$('#result').prepend(content);
});
Это сначала сохраняет загруженный контент в переменную, и вы можете манипулировать им, как хотите.
Ответ 3
Быстрый способ:
$('#result').append($('<div>').load('ajax/test.html'));
Ответ 4
Сделайте сообщение jQuery и загрузите данные в файл vaiable и добавьте требуемый div
$.post('ajax/test.html', function(data) {
$('#result').prepend(data);
});
Ответ 5
Я думаю, что это более короткое решение
$.get("ajax/test.html",function (dados) { $("#result").append(dados);});