发送空对象的Post方法

时间:2013-07-07 12:16:40

标签: asp.net-mvc asp.net-web-api

我有以下javascript代码

function SendMessage(personId) {    

var message = new MessageClass.Message($('#textareaMessage').val(), personId);      
$.ajax({ type: "POST", contentType: 'application/json', url: "/api/PersonApi/SendMessage/" + message }).success(function (data) { });
}

var MessageClass =
{
    Message: function (messageText, personId) {
        this.MessageText = messageText;
        this.PersonId = personId;
    }
};

和api方法是

[System.Web.Http.HttpPost]
public void SendMessage(Message message)
{
    var uow = new Uow();
    var person= uow.People.GetById(message.PersonId);
    person.Messages.Add(message);
}

每次我将数据发布到api时,数据始终为空。

我的Message课程如下

public class Message
{
    [Key]
    public int Id { get; set; }
    public string MessageText { get; set; }
    [ForeignKey("Person")]
    public int PersonId { get; set; }
    public virtual Person Person { get; set; }
}

1 个答案:

答案 0 :(得分:1)

您需要将内容作为POST有效内容发送,而不是URL。

data: message添加到AJAX调用中。