c# - 如何在 JavaScript 中调用 Web.api 序列化数组

标签 c# javascript jquery json asp.net-web-api

我认为将数组发布到 web.api(api Controller )在最简单的形式中不起作用。

我有这个 JavaScript

var ann = { Age: 11, Name: 'Ann' };
var bob = { Age: 22, Name: 'Bob' };
var list = [ann, bob];

$.ajax({
    url: '/api/myapi/',
    data:list,
    dataType: 'json',
    type: "POST",
});

然后我有一个带有简单帖子处理程序的 web.api

public void Post(JObject pList)
{
    //Whatever
}

如果我将“data:list”更改为“data:ann”,那么一切都会按预期工作(当然,除了鲍勃没有过来)。但一旦我列出了一个列表,它就不起作用了。

我尝试查找解决方案,有些似乎是在 JavaScript 中手动序列化,这是此问题的正确“解决方案”/“最佳实践”,还是有更简单的方法?

最佳答案

我认为这可能适合你

$.ajax({
    url: '/api/myapi/',
    data: JSON.stringify(list),
    contentType: 'application/json',
    type: "POST",
});

还有你的 Controller

public void Post(List<yourobject> list)
{
    //Whatever
}

关于c# - 如何在 JavaScript 中调用 Web.api 序列化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24142858/

相关文章:

javascript - jQuery 打开目标元素的默认上下文菜单

javascript - 如何使用 jQuery.get 捕获 Chrome 的 net::Exceptions?

c# - 在 C#/ASP.net 中取消注册一个 javascript block

c# - 文件已存在时无法创建文件

javascript - AngularJS - 在路由和模板中评估 cookie

javascript - Ajax 调用后是否可以使用 PHP 重定向页面?

jquery - Bootstrap 中页面加载时的 MixItUp 随机过滤器

c# - 在 Entity Framework 查询中使用 C# 函数

c# - WCF 错误 : 'It is likely that certificate ' my cert' may not have a private key that is capable of key exchange

javascript - 对字母表列表进行排序