JQuery:是否可以在客户机上实例化一个类并将其传递给$.ajax进行发布?

JQuery:是否可以在客户机上实例化一个类并将其传递给$.ajax进行发布?,jquery,ajax,web-services,Jquery,Ajax,Web Services,我的意思是: 我有一个叫做Customer的类: public class Customer { private string _firstName; private string _lastName; public string FirstName { get { return _firstName; } set { _firstName = value; } } public string LastName

我的意思是:

我有一个叫做Customer的类:

public class Customer
{
    private string _firstName;
    private string _lastName;

    public string FirstName
    {
        get { return _firstName; }
        set { _firstName = value; } 
    }

    public string LastName
    {
        get { return _lastName; }
        set { _lastName = value; } 
    }
}
如何在客户机代码上实例化类“Customer”,并添加数据并发布? (不确定这是否可行)

这是我的客户代码:

 var customer = {
                  "firstName": escape($('#txtFirstName').val()),
                  "lastName": escape($('#txtLastName').val())
                };

var jsonText = JSON.stringify({ customer: customer });

$.ajax({
    type: "POST",
    url: "VisitorWS.asmx/AddCustomer",
    data: jsonText,
    //data: JSON.stringify(params),
    contentType: "application/json; charset=utf-8",
    ...........
});

获取C#类并在客户端和服务器之间“发送”它的行为称为序列化。如果需要,您可以定义一个javascript对象,将成员之间的映射映射到您的客户类。然而,这通常是不必要的。您可以使用[Serializable]属性将对象“转换”为XML或JSON格式的文本表示,然后将其发送到客户端,以该格式进行处理。NET中内置了一些类,这些类可以将文本格式“反序列化”回服务器上的实例化对象。

就像Dave说的那样,您必须在两个层之间序列化对象,就像将对象从业务层传递到数据库一样,等等。在上面显示的示例中,您正在将一个JSON对象传递给一个老式的ASMXWeb服务。因此,请确保它可以将JSON对象反序列化到您的C#类

我有一系列关于使用JSON将WCF与jQuery绑定的博客文章

您可以下载我的最新示例代码:

他们本周末录制了我在费城代码营的演讲,你可以在这里观看,以及其他9场演讲:


谢谢克里斯,我会调查的。按照您所说的老式ASMXWeb服务,我应该使用WCF而不是web服务吗?请您再详细说明一下:)再次感谢。虽然WCF被认为更复杂,而且可能更复杂,请不要误解我的意思,但您有一个更强大的基础设施。你有各种各样的现成协议,安全基础设施等等。