Php JQuery.Post()的用途和区别

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}}); } 但是脚本的第二行没有响应,也就是说,我没有得到滚动条。相反

当我在一个网站上工作时,我有一个内容区部门,我想根据我点击的图像更新其内容。现在,我有一个自定义的滚动条,我在内容区使用它。现在,我首先为onclick脚本函数编写了以下代码段:

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很多…:)