jquery ajax web方法调用

时间:2014-04-12 04:31:55

标签: ajax web methods

我试图在单击按钮时调用ajax web方法。这是我写的以下代码。

$(function() {
            $("<%=btnRatingSubmit.ClientID%>").click(function (e) {
                var textrating = $('#<%= btnRatingSubmit.ClientID %>');
                $.ajax({
                    type: 'POST',
                    url: 'NewRatings.aspx/SubmitRatings',
                    data: '{rating: \'' + textrating.val() + '\'}',
                    contentType: 'application/json; charset=utf-8',
                    dataType: 'json',
                    success: function doNothing(data) {
                    },
                    error: function throwError(data) {
                    },
                });
            });

这是我正在使用的asp按钮

 <asp:Button ID="btnBack" runat="server" Text="Back To Results" OnClick="btnBack_Click"  />

背后的代码是

[WebMethod]
        [ScriptMethod]
        public static void SubmitRatings(string rating)
        {
            if (HttpContext.Current.Request.QueryString["ID"] != null)
            {
                if (HttpContext.Current.Session["LoginId"] != null)
                {
                    string str = HttpContext.Current.Request.Form["lblRate"];

                    RatingsBAL bal = new RatingsBAL();
                    bal.StoreRatings(HttpContext.Current.Session["LoginId"].ToString(), HttpContext.Current.Request.QueryString["ID"], Convert.ToInt32(rating));
                }
            }
        }

但由于某种原因,Web方法没有被解雇。有人可以帮我吗?提前谢谢。

2 个答案:

答案 0 :(得分:0)

$("<%=btnRatingSubmit.ClientID%>").click更改为
$('#'+"<%=btnRatingSubmit.ClientID%>").click

您错过了#,用于在jquery中按ID选择元素。

完整代码:

$(function () {
    $('#' + "<%=btnRatingSubmit.ClientID%>").click(function (e) {
        var textrating = $('#<%= btnRatingSubmit.ClientID %>');
        $.ajax({
            type: 'POST',
            url: 'NewRatings.aspx/SubmitRatings',
            data: {
                rating: textrating.val()
            },
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            success: function doNothing(data) {},
            error: function throwError(data) {},
        });
    });

答案 1 :(得分:0)

function Functioncall(){
        var textrating = $('#<%= btnRatingSubmit.ClientID %>');
        $.ajax({
            type: 'POST',
            url: 'NewRatings.aspx/SubmitRatings',
            data: {
                rating: textrating.val()
            },
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            success: function doNothing(data) {},
            error: function throwError(data) {},
          });
  }
<asp:Button ID="btnBack" runat="server" Text="Back To Results" OnClientClick="Functioncall()"  />