C# webapi赢得';t使用$.param反序列化字符串数组

C# webapi赢得';t使用$.param反序列化字符串数组,c#,javascript,jquery,asp.net-web-api,C#,Javascript,Jquery,Asp.net Web Api,我试图调用ASP.NET WebAPI方法,并通过类似于$.ajaxPOST请求的GET请求将序列化JavaScript对象传递给它。它工作正常,除了当JavaScript对象的网络值为null时,然后它将其发送到URL中,如/api/airings/get airings?Networks=,并且服务器将字符串[]显示为具有null值的单个项!如果我删除network=,它在服务器上会显示为null,正如我所期望的那样 因此,人们似乎在jQuery中请求了与此行为相关的票证,但我想知道在不使用

我试图调用ASP.NET WebAPI方法,并通过类似于
$.ajax
POST请求的GET请求将序列化JavaScript对象传递给它。它工作正常,除了当JavaScript对象的网络值为null时,然后它将其发送到URL中,如
/api/airings/get airings?Networks=
,并且服务器将字符串[]显示为具有null值的单个项!如果我删除
network=
,它在服务器上会显示为null,正如我所期望的那样

因此,人们似乎在jQuery中请求了与此行为相关的票证,但我想知道在不使用插件、不重写$.param逻辑或不使用WebAPI ModelBinder的情况下我能做些什么


因此,为了解决这个问题,我将字符串数组更改为简单字符串,并对其执行.split

var serialize = function(obj)
{
    var str = [];

    for (var p in obj)
    {
        if (obj[p])
            str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
    }

    return str.join("&");
};

$.get('/api/airings/get-airings?' + serialize(request));
C#


这看起来像个虫子。请在这里记录一个问题:希望它在下一个版本中得到修复,并期待属性routing:-)
var serialize = function(obj)
{
    var str = [];

    for (var p in obj)
    {
        if (obj[p])
            str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
    }

    return str.join("&");
};

$.get('/api/airings/get-airings?' + serialize(request));
var networks = (request.Networks??"").Split(',');