我有一个java脚本函数,它返回status的值。我的功能如下:
function IsReportAlreadyExists() {
var result=true;
$.ajax({
type: "POST",
url: "ReportDetail.aspx/CheckReport",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
if (msg.d != "") {
result= confirm(msg.d);
}
},
failure: function (response) {
alert(response.d);
},
error: function (response) {
alert(response.d);
}
});
return result;
}
我在asp.net按钮控件的客户端点击事件上调用此函数。
<asp:Button ID="btnSave" Style="margin-right: 10px" runat="server" CausesValidation="false"
OnClick="btnSave_Click" Text="Save" Width="70px" OnClientClick="return IsReportAlreadyExists();" />
在客户端点击按钮javascript函数总是返回一个真值。我的意思是我没有得到由confirm(msg.d)设置的结果值。有没有办法实现这个目标?请帮帮我们。非常感谢您的帮助。
谢谢,Rajbir
答案 0 :(得分:1)
因为代码是异步的。首先它返回result = true然后在ajax调用完成后结果被更改。您需要在成功回调中处理结果。