在jquery函数中永远不会调用成功函数

时间:2014-03-31 15:59:53

标签: jquery asp.net

我可以使用jquery和webmethod记录到数据库但是Success方法永远不会被调用...警告消息从未显示...

    function d(t) {
                  e.ajax({
                  url: "productmodel.aspx/AddProductToCart",
                  type: "POST",
                  data: JSON.stringify(t),
                  dataType: "json",
                  contentType: "application/json; charset=utf-8",
                  sucess: function () {
                  alert("added to cart successfully");
                }
             })
           }



           [WebMethod]
           public static void AddProductToCart(int productid)
            {
               MyShoppingCart usersShoppingCart = new MyShoppingCart();
               String cartId = usersShoppingCart.GetShoppingCartId();
                try
                {
                 usersShoppingCart.AddItem(cartId, productid, 1);
                }
                 catch (Exception ex)
                 {
                  throw new Exception(ex.Message);
                  }
              }

3 个答案:

答案 0 :(得分:1)

试试这个

$.ajax({
url: "productmodel.aspx/AddProductToCart",
              type: "POST",
              data: {productid : 1 },
              dataType: "json",
              sucess: function () {
              alert("added to cart successfully");
            }
});

代码中t的结构应如{ productid : 1 }

答案 1 :(得分:1)

如果您可以将数据记录到DB而没有获得响应,则可以修改void方法以将HttpResponseMessage返回到具有自定义错误处理消息的页面。至于Ajax调用,试试这个:

  function d(t) {
                   var isSuccess = false;
                          e.ajax({
                          url: "productmodel.aspx/AddProductToCart",
                          type: "POST",
                          data: JSON.stringify(t),
                          dataType: "json",
                          async:false,
                          contentType: "application/json; charset=utf-8",
                          success: function () {
                            isSuccess = true;
                          },
                          error: function (textStatus, errorThrown) {
                            isSuccess = false;
                          }

                     });
                     alert(isSuccess);
                     return isSuccess;
         }

答案 2 :(得分:0)

成功需要有两个“c”。这应该可以解决你的问题。