javascript - 无法将 JavaScript 对象发布到 asp.net web api 端点

标签 javascript asp.net .net asp.net-mvc-3 asp.net-web-api2

我在 ASP.NET WEB API 应用程序中有一个端点,如下所示:

        [HttpPost]
        public dynamic Save(string userId, List<MyObject> data)
        {
            return null;
        }

public class MyObject
    {
        public string name { get; set; }
        public List<itemAttribute> items { get; set; }
    }

public class itemAttribute
    {
        public int id { get; set; }
        public string typeName { get; set; }
        public string fullName { get; set; }
        public bool Checked { get; set; }
    }

我正在尝试发布以下 JavaScript 对象

data = [
{
    "name": "One",
    "items": [
        {
            "fullName": "name",
            "Checked": true,
            "typeName": "type 1",
            "id": 1
        },
        {
            "fullName": "nametwo",
            "Checked": true,
            "typeName": "some type 2",
            "id": 2
        }
    ]
}
    ]

当我到达终点时,data 以空列表的形式出现。我没有看到任何具体错误。请帮忙。

现在我正在使用 fire fox 的 REST 客户端发布数据

enter image description here

最佳答案

您不应该尝试传递多个参数。将签名更改为:

public dynamic Save([FromBody] List<MyObject> data)

此外,在将对象传递给 Web API 之前尝试将其字符串化:

JSON.stringify(data);

关于javascript - 无法将 JavaScript 对象发布到 asp.net web api 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26995814/

相关文章:

javascript - 如何在React Native FlatList中按 'something'排序?

asp.net - 页面加载时的 Ajax 操作链接

.net - 函数返回System.IO.MemoryStream?

mysql - 将 INNER JOIN 与插入和更新一起使用时,VB.Net 中出现错误

.net - 使用 .NET 将 ffmpeg 管道传输到 oggenc(2)

javascript - 如何使用 css 上的 "auto"值检查真正的宽度

javascript - 自定义 onbeforeunload 对话框

javascript - EnyoJS 上下排列器

node.js - 是否可以在 Node.js 后端使用 SignalR?

c# - 当线程区域性不是英语时,.NET CookieException "Cookie format error"- 仅在某些环境中