将JSON对象发布到服务器

时间:2014-06-15 22:39:21

标签: jquery asp.net ajax

将JavaScript对象发布到服务器(asp.net 4.5 c#)时遇到了一些问题。

对象是由用户创建的(我正在使用jquery),然后用户可以将该对象发送到服务器来处理信息,

我需要发送到服务器的数据是jQuery对象数组,

我已经尝试了这个,但它没有用:

 var sendOrder = function () {
        $.ajax({
          type: "POST",
          url: "Products.aspx/ProcessOrder",
          contentType: "application/json; charset=utf-8",
          dataType: "json",
          async: false,
          data: JSON.stringify(addedProducts),
          success: function (result) {
            debugger;
            alert(result);
          },
          error: function (result) {
            debugger;
            alert(result.responseText);
          }
        });
      }

      sendOrderInfo.bind('click', sendOrder);

服务器端方法是:

[System.Web.Services.WebMethod]
    public static string ProcessOrder(object orderInfo) {
      return "Order Processed Successfully";
    }

并且发布的对象(对象数组)如下所示:

addedProducts
[
Object
product: "Cerejas"
quantity: "45"
__proto__: Object
, 
Object
product: "Farinheira"
quantity: "4"
__proto__: Object
]

有没有人有想法?

1 个答案:

答案 0 :(得分:0)

我希望你遵循这个过程:

为对象创建一个类

public class Products
{
    public string product { get; set; }
    public int quantity { get; set; }
}

[System.Web.Services.WebMethod]
public bool ProcessOrder(Products orderInfo)
{
    return orderInfo != null;
}

json致电:

$.ajax({
    url: "Products.aspx/ProcessOrder",
    type: "POST",
    contentType: "application/json",
    data: JSON.stringify(addedProducts),
    success: function(response) {
        response ? alert("It worked!") : alert("It didn't work.");
    }
});

请告诉我它是否适合您。