【问题标题】:how to post json array list to web service method?如何将 json 数组列表发布到 Web 服务方法?
【发布时间】:2015-02-02 11:16:52
【问题描述】:

我在 jquery 客户端和 c# asp.net 服务器端编写了两个函数,我尝试将 json 列表对象发布到 web 方法,但我看到了错误..

jquery 代码:

function UpdateCart(tableid) {

var page = "Account/Cart.aspx";
var method = "Update_Cart";
var url = "http://" + host + "/" + page + "/" + method;

$(".popup").show();

var cartlist = new Array();
for (var i = 68; i < 71; i++) {
    var cart = new Object();
    cart.ID = i;
    cart.Quantity = 6;
    cartlist.push(cart);
}
var jsonArray = JSON.parse(JSON.stringify(cartlist))

$.ajax({
    type: "POST",
    url: url,
    data: jsonArray,
    contentType: "application/json; charset=utf-8",
    datatype: "json",
    async: "true",
    success: function (response) {
        // success message or do
        $(".errMsg ul").remove();

        var myObject = eval('(' + response.d + ')');

        if (myObject == 1) {

            window.location.href = "http://" + host + "/Account/cart";

        } else {

            $(".errMsg").text("نام کاربری یا رمز اشتباه است");
            $(".errMsg").removeClass("alert");
            $(".errMsg").addClass("alert alert-danger");

        }


    },
    error: function (response) {
        alert(response.status + ' ' + response.statusText);
    }
});

}

c#网络方法:

[WebMethod]
public static string Update_Cart(string[] Carts)
{
    if (Carts != null)
    {
        foreach (var item in Carts)
        {
            com_Shop_Carts cart = new com_Shop_Carts()
            {
                Quantity = item.Quantity,
                AddDate = DateTime.Now

            };
            com.shop.ProductManager.Update_Cart(item.ID, cart).ToString();
        }
    }

    return "1";
}

运行后我看到错误 500,我无法解决,请给我解决方案。

【问题讨论】:

  • 试试这个data: {Carts: jsonArray},
  • 联系我tehhitech [at] live.com
  • 不行。错误 500 是

标签: c# jquery asp.net ajax webforms


【解决方案1】:

除此之外:var jsonArray = JSON.parse(JSON.stringify(cartlist))

试试这个:var json={"Carts":cartlist}; 然后,var jsonArray=JSON.stringify(json);

并从 ajax 调用中删除 datatype:json

希望这会有所帮助。

【讨论】:

  • 确保您的网址正确。 URL 应该是这样的: url: "FileName.aspx/Update_Cart",
猜你喜欢
  • 2011-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多