我在JavaScript中有下列複雜的對象包含過濾選項如何將複雜對象傳遞給ASP.NET WebApi從jQuery ajax調用GET?
var filter={caseIdentifiter:'GFT1',userID:'2'};
,我想傳遞給ASP.NET MVC4的WebAPI控制器使用jQuery的Ajax調用
GET[HttpGet]
public IEnumerable<JHS.Repository.ViewModels.CaseList> Get([FromBody]Repository.InputModels.CaseListFilter filter)
{
try
{
return Case.List(filter);
}
catch (Exception exc)
{
//Handle exception here...
return null;
}
}
var request = $.ajax({
url: http://mydomain.com/case,
type: 'GET',
data: JSON.stringify(filter),
contentType: 'application/json; charset=utf-8',
cache: false,
dataType: 'json'
});
ASP.NET控制器方法中的「過濾器」對象爲「null」。如果我將它更改爲POST,則過濾器對象正確傳遞。有沒有辦法將一個複雜的對象傳遞給GET?
我不想將參數分離出來,因爲會有一些參數會導致效率低下,很難有可選參數,這樣即使新建了方法簽名也會保持不變參數被添加。
這裏給出的答案解決了我所遇到的同類問題。 –
2016-09-08 06:30:48