我有我的:
$('#result').load('ajax/test.html');
但如果我不想将我加载的内容插入到#result中,但是将其添加到#result,维护所有先前元素,该怎么办?是否可以创建变量,使用内容加载它,然后将其追加或添加到我的#result中?我想象一些其他场景,在我将全新的变量插入到DOM之前我可以操作它。
答案 0 :(得分:32)
你的意思是这样的吗?
var content;
$.get('ajax/test.html', function(data){
content= data;
$('#result').prepend(content);
});
首先将加载的内容保存到变量中,然后根据需要对其进行操作。
答案 1 :(得分:24)
var response;
$.ajax({ type: "GET",
url: "ajax/test.html",
async: false,
success : function(text)
{
response= text;
}
});
$('#result').prepend('<div>'+response+'</div>');
你需要&#34; async:false&#34;所以你等待响应。如果您不等待它(正常的Ajax异步调用),您将在未知时间内有一个未定义的变量,因此它可能很危险。
编辑:正如评论所说,使用&#34; async:false&#34;不常见,很难看。通常,您会操纵响应并将其插入成功回调内的DOM中。如果你真的需要在变量中等待另一个东西使用该变量的响应,那么仅需要使用异步,而不是常见的事情。
$.ajax({ type: "GET",
url: "ajax/test.html",
success : function(text)
{
$('#result').prepend('<div>'+text+'</div>');
}
});
答案 2 :(得分:19)
快速的方法可能是:
$('#result').append($('<div>').load('ajax/test.html'));
答案 3 :(得分:6)
执行jQuery帖子并将数据加载到变量并添加到所需的div
$.post('ajax/test.html', function(data) {
$('#result').prepend(data);
});
答案 4 :(得分:3)
我认为这是一个较短的解决方案
$.get("ajax/test.html",function (dados) { $("#result").append(dados);});