JQuery:是否可以在客户机上实例化一个类并将其传递给$.ajax进行发布?
我的意思是: 我有一个叫做Customer的类: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
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被认为更复杂,而且可能更复杂,请不要误解我的意思,但您有一个更强大的基础设施。你有各种各样的现成协议,安全基础设施等等。