我正在尝试向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;
}
知道我在这里做错了吗?
答案 0 :(得分:2)
编辑: - 将原始答案从GET更改为POST。
假设您发布的代码位于FilterController中,GetAll方法通常不接受参数,并用于获取所有产品。如果你想在那里填充你的动态,你应该把它改成这样的POST ..
$.ajax({
type: 'POST',
url: '/api/filter/GetAllProducts,
data: JSON.stringify( product ),
contentType: 'application/json',
success: function (data) {
//alert("succeeded");
},
error: function (err, data) {
alert("Error " + err.responseText);
}
});
然后用HttpPost属性
装饰你的控制器[HttpPost]
public IEnumerable<Products> GetAllProducts(dynamic parameters)
{
return null;
}