我有
<asp:Button ID="Submit_BT" runat="server" OnClientClick="return clientClick();" OnClick="Submit_BT_Click" />
然后在JS中:
function clientClick(){
// using jQuery
$.get(..., function(result){
// Perform some processing on result
// Proceed with the server-side postback
},
function(error){
// Don't proceed with server-side postback
});
return true; // ?---
}
我希望$ .get在回发之前成功完成,但是我认为回发将永远不会发生,或者会一直发生。我可以简单地说
return $.get(...)
吗?这该怎么做?This question与之类似,解决方案是设置
async: false
,部分回答了我的问题。 call 完成后,它可能是成功的或错误的。仅当 call 成功时,我才想继续进行服务器端单击。如何从$.get()
的处理程序中“返回true或false”? 最佳答案
您始终可以在JS函数中返回false
,以确保它不会在点击后回发。
并在成功的异步回调中进行手动回发:
$.get(..., function(result){
// Perform some processing on result
__doPostBack('Submit_BT', '')
}
关于javascript - ASP.net OnClientClick有一个异步调用-仅当该异步调用完成且成功时,如何继续进行服务器端OnClick?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38877523/