jquery嵌套ajax调用记得内部ajax调用的第一个HTML响应
问题描述:
好的。我需要做这样的事情:jquery嵌套ajax调用记得内部ajax调用的第一个HTML响应
1)做一个GET ajax请求并记住变量中的HTML响应。 2)在第一个ajax请求(在回调函数中)中,我需要发出第二个POST ajax请求,并将HTML响应追加到第一个请求中记住的HTML响应。 3)用变量中的HTML替换div。
这是我要如何看:
var firstHtml;
$.ajax({
url: 'page.php',
success: function(data) {
firstHtml = data;
$.ajax({
type: 'POST',
url: 'page2.php',
data: 'param1=a¶m2=b',
success: function(htmlResponse){
// the firstHtml var is NULL here... why?
var finalHtml = firstHtml + htmlResponse;
$('#div').html(finalHtml);
}
});
}
});
但你可以从评论看这是行不通的。变量firstHtml在第二个AJAX请求中突然为NULL。
答
试试这个:
$.ajax({
url: 'page.php',
success: function(result1) {
$.ajax({
type: 'POST',
url: 'page2.php',
context: { firstResult: result1 },
data: { param1: 'a', param2: 'b' },
success: function(secondResult) {
var finalHtml = this.firstResult + secondResult;
$('#div').html(finalHtml);
}
});
}
});
它仍然是NULL。 – 2010-09-10 13:09:13
似乎有效:签出[此演示](http://jsfiddle.net/KtGkr/1/) – 2010-09-10 13:20:54