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 回答