0

重複の可能性:
jquery/ajaxを使用してフォームに投稿する方法

Jquery Ajaxを介してサーバーにデータを投稿するにはどうすればよいですか?

JQuery

function postNewBaseLine() {
    var id = "300";
    $.ajax({
            type: "POST",
            url: "ManagerBaseKit.aspx/SetNewBaseVersion",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            data: id,
            success: function(data) {
                alert('success!');
            }
        });
}

cs

[WebMethod]
public static void SetNewBaseVersion(string version)
{
    // I want it here!
}

スクリプトマネージャーを使用しています

<asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" EnablePartialRendering="true"
    runat="server" />

編集: に変更した後data: { 'version': id },

POST _http:// localhost:49852 / ManagerBaseKit.aspx / SetNewBaseVersion 500(内部サーバーエラー)が発生します

4

2 に答える 2

2

データオブジェクトを次のようなものに変更する必要があります。

function postNewBaseLine() {
    var id = "300";
    $.ajax({
            type: "POST",
            url: "ManagerBaseKit.aspx/SetNewBaseVersion",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            data: {version: id},
            success: function(data) {
                alert('success!');
            }
        });
}
于 2012-10-09T15:13:49.040 に答える
1

最初にIDをオブジェクトに変更します。引用符は重要だと思います。

function postNewBaseLine() {
var id = "300";
$.ajax({
        type: "POST",
        url: "ManagerBaseKit.aspx/SetNewBaseVersion",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        data: {"version": id},
        success: function(data) {
            alert('success!');
        }
    });

}

また、サービスメソッドにいくつかの属性を追加する必要がある場合があります

          [WebMethod]
          [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, bodystyle = WebMessageBodyStyle.WrappedRequest)]
            public static void SetNewBaseVersion(string version)
            {
                // I want it here!
            }
于 2012-10-09T15:18:27.913 に答える