4

jQuery ajaxリクエストがどのように機能するかを理解するために、単一のVisualStudioソリューションに2つの単純なプロジェクトがあります。1つはWebサービスで、もう1つはWebサービスを使用するプロジェクトです。

ここから非常に小さなプロジェクトをダウンロードできます。プロジェクトファイルをダウンロード

プロジェクトでわかるように、Webサービスを呼び出そうとすると、内部サーバーエラー500が発生します。

Chromeでは、次のアラートが表示されます(Ajax呼び出しの「エラー」関数によって実行されます)

ここに画像の説明を入力してください

問題を見つけるのを手伝ってください。

編集:

function btnClick() {
        debugger;
        var txtValue = $('#txtValue');
        var text = txtValue.val();
        //
        //
        $.ajax({
            url: "http://localhost:12000/ExampleJsonWS.asmx/getValue",
            type: "POST",
            dataType: "json",
            data: "{" + txtValue.val() + "}",
            timeout: 30000,
            async: false,
            contentType: "application/json; charset=utf-8",
            success: function (data) {
                debugger;
                alert(data);
                return data;
            },
            error: function (result) {
                debugger;
                //alert(e);
                alert(result.status + ' ' + result.statusText);
            }
        });
    }
4

2 に答える 2

1

問題は、GETが実行できる間、Webサービスを別のプロジェクトに保持してPOSTを実行できないことでした。(Phillip Haydonによる説明)。私がそれを間違って理解している、または誰かがそれについてもっと共有したいのであれば、彼らは大歓迎です:)

詳細については、このリンクをご覧ください。

より良い代替策は、プロジェクト内にWebサービスを保持し、他のWebサービス(必要なもの)をプロジェクトのWebサービスに呼び出すことです。

于 2013-01-02T13:25:12.997 に答える
0

問題は、Example.aspxからのWebサービスへの呼び出しにあると思います。

url: "http://localhost:12000/ExampleJsonWS.asmx/getValue",

次のようなものを試してください。

url: "/ExampleJsonWS.asmx/getValue",

また、この投稿を確認してください:NETWORK_ERROR:XMLHttpRequestException101

于 2013-01-02T02:21:49.493 に答える