Php JQuery.Post()的用途和区别
当我在一个网站上工作时,我有一个内容区部门,我想根据我点击的图像更新其内容。现在,我有一个自定义的滚动条,我在内容区使用它。现在,我首先为onclick脚本函数编写了以下代码段:Php JQuery.Post()的用途和区别,php,javascript,jquery,post,Php,Javascript,Jquery,Post,当我在一个网站上工作时,我有一个内容区部门,我想根据我点击的图像更新其内容。现在,我有一个自定义的滚动条,我在内容区使用它。现在,我首先为onclick脚本函数编写了以下代码段: function xyz(){ $("#content-area").load("abc.php"); $("#content-area").mCustomScrollbar({scrollButtons:{enable:true}}); } 但是脚本的第二行没有响应,也就是说,我没有得到滚动条。相反
function xyz(){
$("#content-area").load("abc.php");
$("#content-area").mCustomScrollbar({scrollButtons:{enable:true}});
}
但是脚本的第二行没有响应,也就是说,我没有得到滚动条。相反,当我使用这段代码片段时,它起了作用:
$.post("abc.php", function(data){
$("#content-area").html(data);
$("#content-area").mCustomScrollbar({scrollButtons:{enable:true}});
});
我想知道$.post()的函数,以及为什么第一个代码段不工作而第二个代码段工作?我想在第一个示例中,第二条语句是在
.load()函数完成之前执行的。在第二个示例中,您正确地使用了success函数,该函数仅在POST请求完成后执行。我假设在第一个示例中,第二条语句是在.load()
函数完成之前执行的。在第二种情况下,您正确地使用了success函数,该函数仅在POST请求完成后执行。在第一种情况下,mCustomScrollbar
将在发送AJAX请求后立即执行:请记住,AJAX中的第一个A
用于异步。但它显然还并没有什么工作要做,因为服务器的响应还并没有出现
在第二个代码段中,mCustomScrollbar
小部件的创建发生在收到AJAX请求的响应之后(因为这一行是$.post
成功处理程序的一部分),并且#内容区域
填充了必要的结构(使用.html()
)调用。所以现在它工作正常了
您可以使用这样一个事实,即$.load
方法可以随自定义回调函数一起提供,该函数将在请求完成时执行,如下所述。例如:
$("#content-area").load("abc.php", function() {
$(this).mCustomScrollbar({scrollButtons:{enable:true}});
});
注意$(this)
用法:由于this
在回调函数中依次设置为每个DOM元素,因此您无需再次在DOM中查找该内容区域
;只需将该元素包装到jQuery对象中就足够了。在第一种情况下,mCustomScrollbar
将在发送AJAX请求后立即执行:请记住,AJAX中的第一个A
用于异步。但它显然还并没有什么工作要做,因为服务器的响应还并没有出现
在第二个代码段中,mCustomScrollbar
小部件的创建发生在收到AJAX请求的响应之后(因为这一行是$.post
成功处理程序的一部分),并且#内容区域
填充了必要的结构(使用.html()
)调用。所以现在它工作正常了
您可以使用这样一个事实,即$.load
方法可以随自定义回调函数一起提供,该函数将在请求完成时执行,如下所述。例如:
$("#content-area").load("abc.php", function() {
$(this).mCustomScrollbar({scrollButtons:{enable:true}});
});
注意$(this)
用法:由于this
在回调函数中依次设置为每个DOM元素,因此您无需再次在DOM中查找该内容区域
;只需将该元素包装到jQuery对象中就足够了。您需要使用回调函数,该函数在请求完成时执行:
$("#content-area").load("abc.php", function(){
$(this).mCustomScrollbar({scrollButtons:{enable:true}});
});
您需要使用在请求完成时执行的回调函数:
$("#content-area").load("abc.php", function(){
$(this).mCustomScrollbar({scrollButtons:{enable:true}});
});
是的,我知道这个关键词的目的。thanx很多…:)是的,我知道这个关键词的目的。thanx很多…:)