0

私は物事を s に切り替え[WebMethod]始めましたが、問題が発生し始め、それらを適切に使用する方法についてさらに調査する必要があると判断しました.

以下を入れました$(document).ready()

                $.ajax({
                type: "POST",
                data: "{}",
                url: "http://localhost:3859/Default.aspx/ajxTest",
                dataType: "json",
                success: function (msg, status) {
                    alert(msg.name + " " + msg.value);
                },
                error: function (xhr, status, error) {
                    var somethingDarkside; //only to put a breakpoint in.
                    alert(xhr.statusText);

                }
            });

じぶんの[WebMethod]

    [WebMethod]
    public static string ajxTest()
    {
        JavaScriptSerializer ser = new JavaScriptSerializer();
        DummyString dum = new DummyString("Please","Work");
        string jsonString = ser.Serialize(dum);
        return jsonString;
    }

「働いてください」としか言わない。「未定義の未定義」が表示され、VSでデバッグでき、呼び出し[WebMethod]が. 解析エラー、転送エラーがあります。すべてが矛盾していますが、何も正しくありませんでした。今日、最大 47 の異なるブログ、SO の投稿、Google グループのタブを作成しましたが、完全にクラックすることはできません。

状態はxhr.statusText掲載通りOKです。status解析エラーが発生しています。道に迷いました。

前もって感謝します。

編集: jQuery 1.9.1

EDIT2: DummyString オブジェクト

        public class DummyString
    {
        public string name { get; set; }
        public string value { get; set; }

        public DummyString(string n, string v)
        {
            name = n;
            value = v;
        }
    }

編集3:また、私は持っています<asp:ScriptManager EnablePageMethods="true" ...

4

2 に答える 2

1

次のように単純化します。

$.ajax({
    type: "POST",
    url: "Default.aspx/ajxTest",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (data) {
        alert('success');
    },
    error: function (data) {
        alert('fail');
    }
});

[WebMethod]
public static string ajxTest()
{
    return @"{ ""hello"":""hola"" }";
}

そしてテスト。(上記は動作します)

于 2013-08-22T15:09:09.723 に答える
1

.d パラメータのサービス リターン レスポンスは次のようにしてください

msg.d.name
于 2013-08-22T15:19:01.567 に答える