在进入webmethod函数之前,Ajax回调掉

时间:2012-12-10 19:28:49

标签: c# jquery asp.net ajax

这是我的Ajax调用:

 $.ajax({
            type: "POST",
            url: "ProductDetail.aspx/AddCart",
            data: '{productId:' + 4 + ',productTypeId:' + 0 + ',quantity:' + 1 + '}',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function () {
                alert('successful');
                refreshCart();
            },
            complete: function () {
                alert('Completed');
                refreshCart();
            }
        });

它发出警报('已完成'),然后转到webmethod函数,但我的服务器端代码完成后需要它。你有什么建议吗?

2 个答案:

答案 0 :(得分:0)

尝试更改此内容:

complete: function () {
    alert('Completed');
    refreshCart();
}

对此:

complete: function (result,stat) {
    alert(stat);
    refreshCart();
}

看到你得到了什么。如果您以任何形式获得“错误”,您就会知道您的问题是什么。

答案 1 :(得分:0)

您的数据参数不包含有效的json,并且您使用的是完整而不是错误。试试这个:

$.ajax({
    type: "POST",
    url: "ProductDetail.aspx/AddCart",
    data: '{"productId":' + 4 + ',"productTypeId":' + 0 + ',"quantity":' + 1 + '}',
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function() {
        alert('Successful');
        refreshCart();
    },
    error: function(jqxhr,status,message) {
        alert('Error: ' + message);
        refreshCart();
    }
});​