Подтвердить что ты не робот

Jquery load() и добавить

глупый вопрос:

У меня есть:

$('#result').load('ajax/test.html');

но что, если я не хочу вставлять загруженный контент в #result, но добавляю его к #result, сохраняя все элементы прецедента? Можно ли создать переменную, загрузить ее с контентом, а затем добавить или добавить ее к моему #result? Я представляю себе некоторые другие сценарии, где с моей новой переменной я могу манипулировать им, прежде чем вставлять его в DOM.

4b9b3361

Ответ 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);});