Javascript ASP.net OnClientClick有一个异步调用-只有当异步调用完成并成功时,如何继续服务器端OnClick?

Javascript ASP.net OnClientClick有一个异步调用-只有当异步调用完成并成功时,如何继续服务器端OnClick?,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我有 我希望在回发之前成功完成$.get,但我认为回发永远不会发生,或者永远不会发生。我可以简单地说返回$.get(…);如何做到这一点 类似,解决方案是设置async:false,这部分回答了我的问题。当调用完成时,可能是成功的,也可能是错误的。只有在呼叫成功时,我才希望继续服务器端单击。如何从$.get()的处理程序内部“返回true或false”?您可以始终在JS函数中返回false,以确保它不会在单击时回发 并在成功的异步回调中手动回发: function clientClick(){

我有

我希望在回发之前成功完成$.get,但我认为回发永远不会发生,或者永远不会发生。我可以简单地说
返回$.get(…)
;如何做到这一点


类似,解决方案是设置
async:false
,这部分回答了我的问题。当调用完成时,可能是成功的,也可能是错误的。只有在呼叫成功时,我才希望继续服务器端单击。如何从
$.get()
的处理程序内部“返回true或false”?

您可以始终在JS函数中返回
false
,以确保它不会在单击时回发

并在成功的异步回调中手动回发:

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; // ?---
}
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(..., function(result){

   // Perform some processing on result

   __doPostBack('Submit_BT', '')

}