【发布时间】:2013-11-01 19:27:23
【问题描述】:
我正在尝试将dynamic object 发送到ApiController。在return null 行上设置断点,我看到parameters 始终是null。
AJAX 电话:
$(':checkbox').click(function (event) {
var values = $('input[type="checkbox"]:checked').map(function () {
return $(this).val();
}).toArray();
var product = {
Name: $('#name2').val(),
Price: $('#price2').val(),
Category: $('#category2').val()
};
$.ajax({
type: 'GET',
url: '/api/filter',
data: JSON.stringify( product ),
contentType: 'application/json',
success: function (data) {
//alert("succeeded");
},
error: function (err, data) {
alert("Error " + err.responseText);
}
});
});
Controller:
[HttpGet]
public IEnumerable<Products> GetAllProducts(dynamic parameters)
{
return null;
}
知道我在这里做错了什么吗?
【问题讨论】:
-
我认为 JSON 中需要有一些内容表明您传递的对象被命名为
parameters,这样自动的东西才能按照您的预期工作。 -
也许
JSON.stringify( { parameters: product } )会给你一些东西。 -
@TimS。我也试过了,还是null。
-
在回答您下面的其他问题时,
GET请求不假定有正文,只有 URL 参数,因此不会尝试对正文进行绑定。 -
@TrueBlueAussie,你说的“没有假设有身体”是什么意思?
标签: c# jquery asp.net-web-api dynamicobject