【问题标题】:Internal server error when jquery call c# functionjquery调用c#函数时出现内部服务器错误
【发布时间】:2016-01-11 02:09:37
【问题描述】:

我正在尝试使用以下代码从 jquery 进行 c# 函数调用。但我只收到内部服务器错误。请帮助我找出为什么以及如何解决它。谢谢。

脚本

<script type="text/javascript">
    $(function () {
        $(".matrix_tableActive").click(function (e) {
            alert(e.target.id);
            $.ajax({

                type: "POST",
                url: "Default.aspx/Download",
                data: JSON.stringify({ sth: "hahaha" }),
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: fnsuccesscallback,
                error: fnerrorcallback
            });
        });




    function fnsuccesscallback(data) {
        alert(data.d);

    }
    function fnerrorcallback(result) {
        alert(result.statusText);
    }

    });
</script>

C#

[WebMethod]
    protected static String Download(String sth)
    {
       return sth;
    }

【问题讨论】:

标签: javascript c# jquery asp.net web


【解决方案1】:

试着这样称呼它,

window.PageMethods.Download('hahaha',fnsuccesscallback,fnerrorcallback)

这与调用 AJAX 方法相同。除了参数、OnSuccess 和 OnError 函数外,其他一切都在内部处理。

另外根据我的网络方法必须是publicstatic

【讨论】:

    【解决方案2】:

    您的方法应该是 public,因为您是从 javascript 调用它。
    应该是这样的

    [WebMethod]
    public static String Download(String sth)
    {
       return sth;
    }
    

    还要了解错误详细信息,您应该使用error,如下所示

    error: function (xhr, ajaxOptions, thrownError) {
        alert(xhr.status);
        alert(thrownError);
    }
    

    【讨论】:

      猜你喜欢
      • 2020-02-26
      • 2015-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-11
      • 2016-03-26
      • 2020-02-06
      相关资源
      最近更新 更多