【问题标题】:.NET web service gets null object.NET Web 服务获取空对象
【发布时间】:2015-06-17 08:28:33
【问题描述】:

我正在尝试使用 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');
    }
});

在调试时使用我得到 null:

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

【问题讨论】:

标签: c# .net ajax web-services rest


【解决方案1】:

可能是这一行的错误

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

应该是

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

【讨论】:

    猜你喜欢
    • 2013-01-28
    • 1970-01-01
    • 1970-01-01
    • 2016-05-14
    • 1970-01-01
    • 2017-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多