1

JavaScript コンソール POST (Web サイトの URL) GetUserPass 500 (Internal Server Error) を見ると、このエラーが発生します。

ポップアップには、予期しないトークンがあることも示されています > 私は、これら 2 つのことが関連していると推測しています。

これがJavaScriptコードです。このプロジェクトは、Visual Studio 2013 でビルドされています。

<script type="text/javascript" src="../assets/plugins/data-tables/jquery.dataTables.datesorting.js"></script>

    <script type="text/javascript">
        var mvData = null;
        var mvTable;

        function GetDataSuccess(data, textStatus, XMLHttpRequest) {
            $("#divMessage").html("").hide();
            $("#userPassTable").show();
            mvData = data.d;
            mvTable.fnClearTable();
            mvTable.fnAddData(data.d);
        }

        function GetDataError(XMLHttpRequest, textStatus, errorThrown) {
            try {
                var obj = jQuery.parseJSON(XMLHttpRequest.responseText);
                $("#divMessage").html("An error occured: " + obj.Message + "<br>Exception Type: " + obj.ExceptionType).show();
            }
            catch (ex) { alert(ex.message); }
        }

        function logBodyOnLoad() {
            $.ajax({
                type: "POST",
                url: "UserPass.aspx/GetUserPass",
                data: JSON.stringify({}),
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: GetDataSuccess,
                error: GetDataError
            });

            mvTable = $('#userPassTable').dataTable(
            {
                "fnDrawCallback": function (oSettings) {
                    /* Need to redo the counters if filtered or sorted */
                    //     if (oSettings.bSorted || oSettings.bFiltered) {
                    //        for (var i = 0, iLen = oSettings.aiDisplay.length; i < iLen; i++) {
                    //            $('td:eq(0)', oSettings.aoData[oSettings.aiDisplay[i]].nTr).html(i + 1);
                    //        }
                    //     }
                },
                "aoColumns":
                [
                    { "sTitle": "Vendor", sClass: "left_align" },
                    { "sTitle": "Username", sClass: "left_align" },
                    { "sTitle": "Password", sClass: "left_align" }
                ],
                "iDisplayLength": 1000,
                "aaData": [["", "", ""]],
                bPaginate: false,
                bFilter: true,
                bSort: false,
                bJQueryUI: true,
                bAutoWidth: false
            });
        }

        $(document).ready(logBodyOnLoad);
    </script>
4

1 に答える 1

3

「....aspx/GetUserPass」のスラッシュ部分がこの問題を引き起こしているのではないかと思っています-クエリ文字列値であってはなりませんか?

これはサーバー側のエラーです。つまり、サーバーのエラー ログをチェックして、何が起こっているかを確認する必要があります。ログを有効にしていない場合 (NuGet 経由で簡単にプラグインできる ELMAH をお勧めします)、次の 2 つの方法で何が起こっているかを確認できます。

1 - ページに投稿する追加データがない場合、最も簡単な方法は、ページ自体を参照することです (localhost:xxx/UserPass.aspx/GetUserPass)。

2 - 投稿している固有のデータがあり、その特定のデータで結果を確認する必要がある場合は、Chrome を使用します - デバッガー ツール (F12) を開き、[ネットワーク] タブを確認すると、サーバーへの要求が表示されます。それを選択して「応答」タブをクリックすると、吐き出される詳細が表示されます。解析できる場合は ASP.NET エラー HTML である必要があり、うまくいけば何が起こっているのかを理解するのに役立ちます。

これがあなたをさらに前進させるのに役立つことを願っています!

于 2013-11-14T16:33:35.043 に答える