Jquery 通过GET将JSON数组传递给MVCWebAPI
我知道这个话题有很多答案,但是我找不到解决问题的方法。 我有一个ASP.NET MVC Web API,如下所示:Jquery 通过GET将JSON数组传递给MVCWebAPI,jquery,asp.net-mvc,json,asp.net-web-api,Jquery,Asp.net Mvc,Json,Asp.net Web Api,我知道这个话题有很多答案,但是我找不到解决问题的方法。 我有一个ASP.NET MVC Web API,如下所示: [HttpGet] public IList<Country> GetCountryList(List<long> idList) $.ajax({ dataType: "json", data: JSON.stringify({idList: listOfIds}),
[HttpGet]
public IList<Country> GetCountryList(List<long> idList)
$.ajax({
dataType: "json",
data: JSON.stringify({idList: listOfIds}),
type: "GET",
url: "api/v1/util/CountryList",
success: function (result) {
alert(result);
}
});
https://localhost/supertext/api/v1/util/CountryList?{%22idList%22:[46,14,62,83,120]}
URL如下所示:
[HttpGet]
public IList<Country> GetCountryList(List<long> idList)
$.ajax({
dataType: "json",
data: JSON.stringify({idList: listOfIds}),
type: "GET",
url: "api/v1/util/CountryList",
success: function (result) {
alert(result);
}
});
https://localhost/supertext/api/v1/util/CountryList?{%22idList%22:[46,14,62,83,120]}
备选方案:
$.ajax({
dataType: "json",
data: {
idList: JSON.stringify(listOfIds),
}
type: "GET",
url: "api/v1/util/CountryList",
success: function (result) {
alert(result);
}
});
网址:
两种方法都不起作用
我真的必须将其作为字符串发送和接收还是使用POST?不,不要尝试在GET请求中发送JSON。将JSON与其他具有主体的动词一起使用,例如POST和PUT 通过使用
[FromUri]
属性装饰动作参数,以标准方式执行此操作:
public IList<Country> GetCountryList([FromUri] List<long> idList)
{
...
}
关于Web API中的模型绑定如何工作的进一步推荐阅读:
**以下是两个参数Enum和objSearch** var Enum=“ABCD” //这是ajax方法 $.ajax({ //此部分是web api部分 [HttpGet] 公共IHttpActionResult获取([FromUri]字符串枚举,[FromUri]字符串objSearch) { IHttpActionResult操作=空; 返回动作
}谢谢!如果我硬编码数据:{idList:[1,2,3]},这就行了,但如果我使用数据:JSON.stringify({idList:listOfIds}),这就不行了,但是为什么要字符串化呢???不要
JSON.stringify
任何东西!我已经告诉过你,在我的回答中不要将JSON与GET请求一起使用。你的请求应该是这样的:data:{idList:listOfIds}
。显然,我假设listOfIds
是一个javascript数字数组。对不起,理解所有这些需要花费一些时间。现在开始工作!非常感谢。
type: "GET",
var GatwayUrl ='http//2937/' (//Your url)
url: GatwayUrl + 'api/Certificate/GetDetail/?Enum=' + Enum +'+&objSearch='+ JSON.stringify(objSearch),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
if (result) {
alert("Your Code");
} }
});