3

これは動作します

[System.Web.Services.WebMethod]
public static string Save_HH()
{
    return "abc";
}

これは動作しません

[System.Web.Services.WebMethod]
public static string Save_HH(string myString) // (int i, string s) (object o) etc
{
    return "abc";
}

これはajax呼び出しです

$.ajax({
    type: "POST",
    url: "Default.aspx/Save_HH",
    data: {}, // data: JSON.stringify({abc:123}),
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (response) {
        btn.css("visibility", "visible");
        $("#ta_response").text(response.d);
    },
    fail: function () {
        alert("fail");
    },
});

このエラーメッセージはPOSTlocalhost(新しいアカウントの投稿リンクができません)/Default.aspx/Save_HH500(内部サーバーエラー)です。


この時点で、質問はかなり明確で簡潔に見えますが、私はそれをそのまま投稿することを妨げられました。これ以上何も言いたくないのは、それは整形式の質問であり、他のことを言うと読者を混乱させるからです。

4

2 に答える 2

3

これを置き換えると:

data: {}, // data: JSON.stringify({abc:123}),

これとともに:

data: { myString : "test" }

それは箱から出して動作するはずです。

呼び出しで渡すパラメーターの$.ajax名前と型は、 で宣言したパラメーターの名前と型と一致する必要があることに注意してくださいWebMethod。それ以外の場合、バインドは行われず、myStringパラメーターはnull(文字列型の場合) WebMethod 内にありSave_HHます。

于 2012-10-22T02:59:23.080 に答える
0
jQuery.ajax( url [, settings] )

urlリクエストの送信先のURLを含む文字列。
settingsAjaxリクエストを構成するキーと値のペアのセット。すべての設定はオプションです。$ .ajaxSetup()を使用して、任意のオプションにデフォルトを設定できます。

于 2012-10-22T02:57:04.580 に答える