我正在使用mvc5 web api 我正在尝试将多个参数传递给web api web方法。 我需要使用此参数的过滤结果 我的代码: java脚本:
var options = {
url: '/api/normdata/getdata',
type: 'GET',
dataType: 'json',
data: [{ 'name': 'n1' }, { 'name': 'n2' }, { 'name': 'n3' }, { 'name': 'n4' }]
};
$.ajax(options).then(querySucceeded).fail(queryFailed);
function querySucceeded(data) {
var objectArray = [];
...
}
function queryFailed(jqXHR, textStatus) {
var msg = 'Error retreiving data. ' + jqXHR + " " + textStatus;
errorMessage(msg);
}
web api控制器中的代码:
[Route("api/normdata/getdata")]
public IEnumerable<string> getdata([FromBody] List<object> somedata)
{
List<string> stringList = new List<string>();
var o = somedata;
return stringList;
}
问题是somedata变量始终为null 请指教。 莱谢克
答案 0 :(得分:1)
您正在发送GET
请求,但在控制器中指定[FromBody]
。尝试将您的请求更改为POST
。
答案 1 :(得分:0)
试试这个,
var data = [{ 'name': 'n1' }, { 'name': 'n2' }, { 'name': 'n3' }, { 'name': 'n4' }]
var options = {
url: '/api/normdata/getdata',
type: 'POST',
dataType: 'json',
data: JSON.stringify(data)
};
$.ajax(options).then(querySucceeded).fail(queryFailed);
function querySucceeded(data) {
var objectArray = [];
...
}
function queryFailed(jqXHR, textStatus) {
var msg = 'Error retreiving data. ' + jqXHR + " " + textStatus;
errorMessage(msg);
}