我正在尝试调用 ASP.NET WebAPI 方法并通过类似于$.ajax
POST 请求的 GET 请求将序列化的 JavaScript 对象传递给它。它工作正常,除了当 JavaScript 对象对 Networks 有一个 null 值时,它会在 URL 中发送它,/api/airings/get-airings?networks=
并且服务器将 string[] 显示为具有值为 null 的单个项目!如果我删除network=
它,它会在服务器上显示为 null,正如我所期望的那样。
因此,似乎人们在 jQuery 中请求了有关此行为的票证,但我想知道在不使用插件或重写 $.param 逻辑或弄乱 WebAPI ModelBinder 的情况下我能做什么。
http://bugs.jquery.com/ticket/8653
http://bugs.jquery.com/ticket/1814
public class ApiGetAiringsRequest
{
public DateTime? DateStart { get; set; }
public DateTime? DateFinish { get; set; }
public string[] Networks { get; set; }
}
public HttpResponseMessage GetAirings([FromUri] ApiGetAiringsRequest request )
...
document.location.href = "/api/airings/get-airings?" + $.param(request);