1

Jqueryに慣れてから約6か月になります。それの多くの用途、特にJqueryのAjaxツールを見つける。

.ajax()メソッドを使用してサーバー側スクリプトに情報を送信し、何らかの理由でリクエストが失敗した場合、.ajaxerror()と.failハンドラーの両方が確実にエラーメッセージを返しますが、どちらのメソッドも私の古い馴染みのある、友好的ではないが特定のASPで生成されたエラーメッセージを非表示にします。

代わりに、一般的な「内部サーバーエラー」メッセージが表示されます。他のクラシックASP恐竜は、私が話していることを知っていますか?

洞察を事前に感謝します。

4

1 に答える 1

1

$.ajaxエラーコールバック関数で提供されるxhr.ResponseTextを使用します。例を次に示します。

ノート!xhr.response textは、エラーページを表すすべての醜いhtml文字列を返します。より具体的にしたい場合は、別のオプションがあります。

サーバー側のアプリでは、tryとcatch句を使用します。エラーを見つけたら、それをテキストとしてresponse.writeに送信し、response.end();を使用します。これは最善の方法ではありませんが、機能します。

もう1つのオプションは、jsonを使用して、キャッチされたエラーメッセージとresponse.writeを構造化することです。これにより、XHRオブジェクトは構造化されたoopの方法で情報を保持します。

$.ajax({
            type: "POST",
            url: "/Administration/Create",
            data: {
                EntityParentID: data.rslt.parent.attr("id"),
                EntityName: data.rslt.name
            },
            success: function (response)
            {
                var node = data.rslt.obj;
                node.attr("id", response.EntityID);
            },
            error: function (xhr, ajaxOptions, thrownError)
            {
                alert("Error Occured During Creation of Entity.");
                alert(xhr.responseText); //This will alert an ugly html string...
                $.jstree.rollback(data.rlbk);
            },
            dataType: "json"
        });
于 2012-09-04T02:29:38.823 に答える