【发布时间】:2012-07-17 01:25:38
【问题描述】:
我用 jquery 制作了一个 JSON 字符串,我想将它发送到 C# web api 控制器。
这是 JSON 对象的示例
{"Name":"","Type":"4","Meals":["2","3"],"Excludes":["Beef","Chicken"]}
我尝试使用这样的 URL 发送它
API/Recipe/Search?json={"Name":"","Type":"4","Meals":["2","3"],"Excludes":["Beef","Chicken"]}
像这样使用我的控制器:
public class RecipeController : ApiController
{
[HttpGet]
public string Search(searchObject json)
{
return "Asdasd";
}
}
像这样
public class RecipeController : ApiController
{
[HttpGet]
public string Search(string json)
{
searchObject search = (searchObject)JsonConvert.DeserializeObject(json);
return "Asdasd";
}
}
但在任何情况下,控制器都不会拾取它。我正在使用 MVC4。
这是我用来拨打电话的 Jquery。 apiLink 是我上面贴的链接。
$.getJSON(apiLink, function (data) {
var items = [];
$.each(data, function (key, val) {
items.push('<li id="' + key + '">' + val + '</li>');
});
$('<ul/>', {
'class': 'my-new-list',
html: items.join('')
}).appendTo('body');
});
如何让控制器接收 JSON 对象?
谢谢
【问题讨论】:
-
你打开你是用jQuery来调用你的动作吗?
-
是的。我现在将在原始帖子中编辑我的 jquery 代码。 firebug 显示该链接是一个 http 错误 400 错误请求。
标签: c# javascript asp.net-mvc json web-services