我是jQuery的新手,所以我想知道,如何在发布后立即显示内容。此刻我有类似的事情。
$('#cur_select').on('change', function() {
$.post( "getTable.php", { value: this.value }).done(function( data )
{
$("#mytable").html(data);
});
});
从PHP获取数据需要一些时间,因此我想通知用户(通过更改标签的文本),该网站正在获取数据。我在哪里可以放这些代码?
答案 0 :(得分:2)
您可以在进行POST调用之前执行此操作,或者可以在POST调用之后立即执行代码(因为POST.done是异步的并且代码会立即移动)。
$('#cur_select').on('change', function() {
//Here
$.post( "getTable.php", { value: this.value }).done(function( data )
{
$("#mytable").html(data);
});
//Or here
});
答案 1 :(得分:1)
$ .post将在更新时更新。 $ .post完成后,将调用.done()之后的回调函数。随着这种情况的发生,javascript将继续下去。所以无论你想做什么(可能在#mytable中等待其数据时都有一个微调器动画)都可以放在$ .post之后,甚至可以放在它之前。
$('#cur_select').on('change', function() {
$.post( "getTable.php", { value: this.value }).done(function( data )
{
$("#mytable").html(data);
});
$("#mytable").css("background-image", "url(/myLoadingSpinner.gif)");
});
答案 2 :(得分:0)
请在jquery中查看两个函数ajaxStart和ajaxComplete。这两个函数将帮助您进行更改,例如在处理之前显示微调器或向用户显示一些文本,并在检索数据后将其隐藏。谢谢。