如何在javascript中等待uu doPostBack方法完成?
我正在使用_doPostBack方法刷新javascript中的UpdatePanel。我只想等待更新面板得到更新,然后执行后续的javascript代码。我如何等待异步方法完成,然后再继续执行(比如在我的例子中,异步方法是uu doPostBack)?我想用Thread.Join()方法模拟类似于C#中所做的事情。使用Sys.WebForms.PageRequestManager事件:如何在javascript中等待uu doPostBack方法完成?,javascript,asp.net-ajax,Javascript,Asp.net Ajax,我正在使用_doPostBack方法刷新javascript中的UpdatePanel。我只想等待更新面板得到更新,然后执行后续的javascript代码。我如何等待异步方法完成,然后再继续执行(比如在我的例子中,异步方法是uu doPostBack)?我想用Thread.Join()方法模拟类似于C#中所做的事情。使用Sys.WebForms.PageRequestManager事件: 函数clearPostBack(){ $get(''事件目标')。值=$get(''事件参数')。值=''
函数clearPostBack(){
$get(''事件目标')。值=$get(''事件参数')。值='';
Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(clearPostBack);
//TODO:回邮后你想要什么
}
函数myPostBack(eventTargetUniqueId、eventArgument){
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(clearPostBack);
__doPostBack(eventTargetUniqueId、eventArgument);
}
这里有一个更好的方法,它允许您在请求成功和/或出错时执行某些操作:
$.ajax({
type: "POST",
data:
{
'__EVENTTARGET': '<%=YourButtonName.ClientID %>'
}
}).done(function (data) {
alert("ok");
}).fail(function (p1, p2, p3) {
alert("error");
});
$.ajax({
类型:“POST”,
数据:
{
“\u事件目标”:”
}
}).完成(功能(数据){
警报(“正常”);
}).失败(功能(p1、p2、p3){
警报(“错误”);
});
@anu感谢您的回复,但您能给我举个例子吗?我会给你一个理想的答案。事实上,我之前没有注意到你正在使用asp.net(我对此一无所知)。那么,您的异步方法是否有任何回调函数。如果有,那么您可以将后续js代码放入该函数中,或者调用包含该回调函数的remining代码的其他函数谢谢谢谢谢谢谢谢谢谢!这让我非常头疼。谢谢你发布这个答案。我喜欢这种方式,但遗憾的是,这不是回帖。这是一个新的电话。因此,如果viewstate中有值,那么服务器端将无法使用这些值。
$.ajax({
type: "POST",
data:
{
'__EVENTTARGET': '<%=YourButtonName.ClientID %>'
}
}).done(function (data) {
alert("ok");
}).fail(function (p1, p2, p3) {
alert("error");
});