2

JQuery と Web サービスは初めてです。私の質問は (次のコードで)、なぜurl: "WebService1.asmx/WebMethod"がこの JQuery コードで機能するのに、ブラウザーにその URL を直接入力すると、パスが見つからないと表示されるのですか? メソッドを呼び出すには、ブラウザーでサービスの [Invoke] ボタンを手動でクリックする必要があり、WebService1.asmx/WebMethod に移動します。

 $(document).ready(function () {
        $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: "WebService1.asmx/WebMethod",
            data: "{}",
            dataType: "json",
            success: function (msg) {
                alert(msg.d);
            },
            error: function (errormessage) {
                alert("got an error");
            }
        });
    });
4

2 に答える 2

3

電話の場合は、リクエストajaxとしてURLを呼び出しています。POST一方、ブラウザでURLに直接アクセスしている間は、GETリクエストとしてURLを呼び出しています。サービスは、GETリクエストとして呼び出すときに欠落しているパラメータとして空のjson配列を含むPOSTリクエストを受け入れる場合があります。

于 2012-08-28T17:21:45.677 に答える
2

POSTしてGET!サービスはさまざまなHTTP動詞をリッスンし、それに応じて応答します。

Invokeを押すと、POSTメッセージがサービスに送信され、バーに入力するとGETメッセージがサービスに送信されます。

クエリを:type: "GET"で変更すると、表示されます。

于 2012-08-28T17:22:30.290 に答える