如何在客户端生成JSON对象并将其发送到服务器?

时间:2010-05-26 10:37:44

标签: .net json extjs

我有基于ExtJS的应用程序。我在服务器端有复合对象,并且ExtJS窗口有几个选项卡,用于编辑这个对象的不同部分。例如:

我有复合对象“Car”

public class Car
{
   public string Name;
   public string Color;

   public List<Wheel> Wheels;
   public List<Door> Doors;
}

在我的ExtJS窗口中,我有标签(“General Info”,“Wheels”,“Doors”),用于编辑此对象的不同部分。

所以我想要的是:

当我想创建一辆新车时,我想为我的班级“Car”生成JSON配置,如{Name:null; Color:null; Wheels:[]; Doors:[]}然后将其发送到客户端,填写客户端(不回调服务器)和用户之后完成创建他的Car对象(他添加了轮子,门,设置名称和颜色)并按保存,我想将这个填充(生成)的JSON对象发送到服务器并将其保存到DB。

有可能吗?

由于

2 个答案:

答案 0 :(得分:2)

在这里,您可以使用ExtJS将JSON对象从JavaScript发布到服务器:

var obj = {
   property1: "Value1",
   property2: [],
   property3: true
};
Ext.Ajax.request({
   url: 'some.url',
   method: "POST",
   callback: function(options,success,xhr) { console.dir(arguments); },
   jsonData: Ext.encode(obj)
});

现在如何处理该请求取决于您在服务器端使用的内容,但此请求的POST缓冲区将包含以下内容:{"property1":"Value1","property2":[],"property3":true}

答案 1 :(得分:0)

你也可以使用带有参数的Ext.Ajax.request:{param:Ext.decode(yourParamObject)}