作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有
<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
,部分回答了我的问题。当调用完成时,它可能是成功的,也可能是错误的。只有当调用成功时,我才想继续进行服务器端点击。我如何从 $.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/
我是一名优秀的程序员,十分优秀!