2

これは、ajax 投稿を含む aspx ページのコードの一部です。

<div>
    Make Comment: <br />
    <textarea rows="7" cols="20" id="comment_content"></textarea><br />
    <input type="button" id="Make_Comment" value="Make Comment" />
</div>

<script type="text/javascript">
    $(document).ready(function () {
        $("#Make_Comment").click(function () {
            $.ajax({
                type: "POST",
                url: "Conversation.aspx/AddComment",
                data: '{ comment: This is a test comment via ajax postback }',
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function () {
                    alert("Got Back to code");
                }
            });
        });
    });
</script>

そして、サーバー側でヒットしようとしている方法は次のとおりです。

    [WebMethod]
    public static void AddComment(string data)
    {

    }

サーバー側の方法でブレークポイントを配置しましたが、ヒットしません。何が問題なのですか?

4

2 に答える 2

2

いくつかのこと:

あなたの data イナコールajax

  data: '{ comment: This is a test comment via ajax postback }'

する必要があります

 data: "{'comment':'This is a test comment via ajax postback'}",

そしてあなたのWebMethod

 AddComment(string data)

する必要があります

 AddComment(string comment)
于 2012-08-14T19:58:12.027 に答える
1

これを試して:

<script type="text/javascript">
$(document).ready(function () {
    $("#Make_Comment").click(function () {
        var comment = $("#comment_content").val();
        var Params = { comment : comment };
        $.ajax({
            type: "POST",
            url: "Conversation.aspx/AddComment",
            data: Params,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function () {
                alert("Got Back to code");
            }
        });
    });
});
</script>

コントローラーで httppost を設定します。

[WebMethod]
[HttpPost]
public static void AddComment(string comment)
{

}
于 2012-08-14T19:58:05.043 に答える