我有以下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; }
}
答案 0 :(得分:1)
您需要将内容作为POST有效内容发送,而不是URL。
将data: message
添加到AJAX调用中。