【问题标题】:$.post vs $.ajax$.post 与 $.ajax
【发布时间】:2011-11-23 15:11:09
【问题描述】:

我正在尝试使用 $.post 方法来调用 Web 服务,我已经使用 $.ajax 方法让它工作了:

$.ajax({
    type: "POST",
    url: "StandardBag.aspx/RemoveProductFromStandardBag",
    data: "{'standardBagProductId': '" + standardBagProductId.trim() + "' }",
    success: function(){
                 $((".reload")).click();
             },
    dataType: "json",
    contentType: "application/json"
});

但是当我将相同的方法移到 $.post 方法中时,它就不起作用了:

$.post("StandardBag.aspx/RemoveProductFromStandardBag",
    "{'standardBagProductId': '" + standardBagProductId.trim() + "' }",
    function () { $((".reload")).click(); },
    "json"
);

我错过了什么?

【问题讨论】:

    标签: asp.net ajax jquery asp.net-ajax


    【解决方案1】:

    它不起作用,因为在您的$.post 方法中,您无法将请求的内容类型设置为application/json。因此无法使用$.post 调用 ASP.NET PageMethod,因为 ASP.NET PageMethod 需要 JSON 请求。您必须使用$.ajax

    我会修改 data 以确保它是正确的 JSON 编码:

    $.ajax({
        type: "POST",
        url: "StandardBag.aspx/RemoveProductFromStandardBag",
        data: JSON.stringify({ standardBagProductId: standardBagProductId.trim() }),
        success: function() {
            $(".reload").click();
        },
        dataType: "json",
        contentType: "application/json"
    });
    

    【讨论】:

    • 我最近遇到了同样的问题,这是正确的解决方案。
    【解决方案2】:

    这是另一种不使用 ajax 的方法。它使用 post 并返回一个 json 对象。

    data = {};
    data.standardBagProductId = standardBagProductId.trim();
    $.post("StandardBag.aspx/RemoveProductFromStandardBag", data , function(response){
        $(".reload").click();
    },"json");
    

    【讨论】:

    • 简要描述您发布的代码的作用。
    • 您应该在答案中添加描述。
    【解决方案3】:

    $.post 函数的第二个参数不应该在“”中。

    $.post("StandardBag.aspx/RemoveProductFromStandardBag",
        {'standardBagProductId': standardBagProductId.trim() },
        function () { $(".reload").click(); },
        "json"
    );
    

    【讨论】:

      【解决方案4】:

      尝试像这样更改您的帖子数据,

       {standardBagProductId: standardBagProductId.trim() }
      

      【讨论】:

        猜你喜欢
        • 2020-07-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-17
        • 2010-12-24
        • 1970-01-01
        • 2018-06-16
        • 1970-01-01
        相关资源
        最近更新 更多