0

这是我的课程(简体)

public class DailyMenu
{
  public string MenuNoteText { get; set; }
}

public class MenuMonth
{
  public DailyMenu[] DailyMenus { get; set; }
}

我的 webApi 操作是

[HttpPost]
public void AddMenuItem_New(MenuMonth menuMonth)
{

}

发布数据的客户端代码是:

在此处输入图像描述

如果我检查 Request.Form[0],我会看到“sampletext”。

在 menuMonth 中,DailyMenus[0] 有 1 个 DailyMenu 项目……这似乎是正确的。

但是这个项目的 MenuNoteText 属性为空 :( 我花了半天多的时间试图弄清楚这一点.. 仍然没有结果.. 我相信很多人一定已经将一个简单的 javascript 对象发布到服务器.. 有人能告诉我我错过了什么这里 ?

4

1 回答 1

3

From the link:

application/x-www-form-urlencoded: Form data is encoded as name/value pairs, similar to a URI query string. This is the default format for POST.

Seems you forget to tell Web Api that you are sending request in json format, add 3 more headers and stringify your Json:

 contentType: "application/json; charset=utf-8",
 dataType: "json",
 data: JSON.stringify(menuMonth),

Also note that there is one wrong typing: cache, not catche

于 2013-02-20T14:55:09.870 回答