.NET Web 服务获取空对象

本文关键字:对象 获取 服务 Web NET | 更新日期: 2023-09-27 17:56:45

我正在尝试使用 ajax 调用和 .NET REST Web 服务保存对象,但我在 .NET 端得到空对象。请帮助我找出问题所在。

C# 对象:

[DataContract]
public class Customer
{
    [DataMember]
    public int Id { get; set; }
    [DataMember]
    public string Name { get; set; }

网络服务:

        [WebInvoke(UriTemplate = "SaveCustomer", BodyStyle = WebMessageBodyStyle.Wrapped,
           RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json,
           Method = "POST")]
        [OperationContract]
        bool SaveCustomer(Customer c);

AJAX 调用:

var type = "POST";
var url = "/WS/Service.svc/SaveCustomer";
var contentType = "application/json; charset=utf-8";
var dataType = "json";
var data = '{ "c:":{"Id": "1", "Name": "myname"}';
var processData = true;
$.ajax({
    type: type, 
    url: url, 
    data: data, 
    contentType: contentType, 
    dataType: dataType, 
    processdata: processData, 
    success: function (msg) {
        alert(msg.SaveCustomerResult);
    },
    error: function (error) {
        alert('error');
    }
});

使用它我在调试时得到空:

public bool SaveCustomer(Customer c)
{
    return true;
}

.NET Web 服务获取空对象

可能是这一行中的错误

var data = '{ "c:":{"Id": "1", "Name": "myname"}';

应该是

var data = '{ "c":{"Id": "1", "Name": "myname"}';