我可以使用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);
}
}
答案 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”。这应该可以解决你的问题。