通过jQuery,AJAX和PHP创建“刷新”按钮。
我要控制两个DOM实例(div)-#sold-container
,还有#totalorderswidget
。
$(document).ready(function() {
$(function() {
$('#orderfeed').on('click', function() {
var orders;
$.ajax({
type: 'POST',
url: 'liveorderwidget.php',
beforeSend: function() {
$('#sold-container').html('<div class="page-loader"></div>');
$.ajax({
url: "totalorderswidget.php",
beforeSend: function() {
$('#totalorderswidget').html('<div class="page-loader"></div>');
},
success: function(orderdata) {
// $('#totalorderswidget').html(orderdata);
orders = orderdata;
}
});
},
success: function(solddata) {
$('#sold-container').html(solddata);
$('#totalorderswidget').html(orders);
}
})
});
});
});
我不喜欢每个DIV在不同时间更新和显示page-loader
CSS的方式,所以我想我会尝试抓住要传递的数据并同时显示它们(获取数据)。在第一个ajax调用中,在第二个上都显示)。
这就像两个普通的AJAX调用一样,每个调用都将成功html附加到每个id上。 (取消对// $('#totalorderswidget').html(orderdata);
的评论),
但是在函数外部初始化变量var orders;
并尝试将数据放入成功调用(orders = orderdata;
)中是无效的。
在第一个AJAX成功调用(console.log
)上执行orderdata
会返回预期的响应,但是尝试在第二个AJAX调用($('#totalorderswidget').html(orders);
)中使用它却无法正常工作, console.log
带回undefined
作为order
变量。
要从第一个成功调用函数中获取数据并将数据带入第二个/最终ajax成功调用中,我必须更改什么?