【问题标题】:How to return status value from javascript function having $.Ajax() Method如何从具有 $.Ajax() 方法的 javascript 函数返回状态值
【发布时间】:2013-03-07 10:56:33
【问题描述】:

我有一个返回状态值的 java 脚本函数。我的功能如下:

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 函数总是返回一个真值。我的意思是我没有得到由确认(msg.d)设置的结果值。有什么方法可以实现吗?请帮帮我。您的帮助将不胜感激。

谢谢,拉杰比尔

【问题讨论】:

标签: javascript asp.net


【解决方案1】:

因为代码是异步的。首先它返回 result=true ,然后在 ajax 调用完成后结果被改变。您需要在成功回调中处理您的结果。

【讨论】:

  • 你能给我举个例子吗?其实我之前没用过回调函数。
  • 代码中的@RajbirSingh success: function (msg) { if (msg.d != "") { result= confirm(msg.d); } } 是一个回调函数
猜你喜欢
  • 1970-01-01
  • 2019-03-19
  • 1970-01-01
  • 2019-11-20
  • 1970-01-01
  • 1970-01-01
  • 2018-06-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多