質問

ブログには次のようなコードが常に表示されます:

$.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: "WebService.asmx/HelloWorld",
                    data: "{}",
                    dataType: "json",
                    success: function(msg) {
                        alert(msg.d);
                    }
                });

しかし、これはasp.net 3.5でのみ実行されると思います。 2.0では実行できませんでした。アプリケーションでこれらのコードを使用するにはどうすればよいですか?

役に立ちましたか?

解決

この属性をWebサーバークラスに追加する必要があります

[System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService

およびこの属性を関数に追加

[ScriptMethod(ResponseFormat = ResponseFormat.Json)]

応答形式に従って応答するため、技術的にはresponseformatを指定する必要はありません。 リクエストで指定した形式に変換します。そして、リクエストでフォーマットを指定する必要があります

よろしく
K

他のヒント

jQueryを使用してサーバーに接続する場合、HTMLに ScriptManager は必要ありません。

あなたのコードの他の部分は正しいと思います。 ScriptManager を削除するだけです。

この記事は既に知っていますが、助けにはなりませんでした。

サンプルアプリでは、次のコードを使用します:

私のJqueryコード:

     $(document).ready(function() {            
        $('#clKaydet').click(function() {
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "WebService.asmx/HelloWorld",
                data: "{}",
                dataType: "json",
                success: function(msg) {
                    alert(msg);
                }
            });

        });

    });

私のHTMLコード:

<form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" runat="server" />
    <div>

        <input type="button" id="clKaydet" runat="server" value="Kayıt" onclick="Kayit()" />
    </div>

    </div>
    </form>

マイWebserviseコード:

  <WebMethod()> _
Public Function HelloWorld() As String
    Dim sText As String = "Hello"
    Return sText
End Function

間違いはありますか?

すべてのDOM操作にjQueryを使用していますが、サーバーにデータを送信するときは、ASP.Net AJAXを使用して自動生成されたプロキシクラスを利用しています

人生を本当にシンプルに!

不足しているのは、WebMethodタグでマークされたメソッドがデータをJSONではなくXMLとしてシリアル化することだと思います。 ASP.NET MVCを使用すると、JSONをネイティブに返すことができますが、WebMethodにJSONが必要な場合は、独自のコンバーターを作成する必要があります。 AJAX呼び出しのデータ型を&quot; xml&quot;に変更することをお勧めします。動作するかどうかを確認します。

また、(まだ)AJAXにjqueryを使用していないため、(まだ)これを試していません。

結論として、これらのコードをasp.net 2.0で直接使用することはできないと言っていますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top