Angular js将对象发布到Web API为空

时间:2018-02-14 12:51:01

标签: angularjs asp.net-web-api boolean http-post

我将表单数据发布到webAPI,其中一个对象具有布尔值(即来自复选框; Deviceselected在代码中有布尔值)。这个对象在我的api控制器中返回null。 我尝试将Desktop和Mobile声明为控制器中的字符串。这也没有解决。 我在这里缺少什么?

我可以发布除设备选择

以外的其他数据

Angualrjs控制器代码

 $scope.SendData = function (Data) {
            var GetAll = new Object();
            GetAll.Redirection = Data.redirection;
            GetAll.Deviceselected = new Object();
            GetAll.Deviceselected.Desktop =  Data.devSelected.desktop;
                GetAll.Deviceselected.Mobile = Data.devSelected.mobile;
            GetAll.Protocol = Data.protocol;
                 $http({
                    url: "http://localhost:61352/api/Market",
                    dataType: 'json',
                    method: 'POST',
                    data: GetAll,
                    headers: {
                        "Content-Type": "application/json"
                    }
                }).then(successCallback, errorCallback);

            };
        })

Web API代码

public class SubmitData
{
    public string Redirection { get; set; }
    public Deviceselected deviceSelected;
    public string Protocol { get; set; }
}

public class Deviceselected
{
    public Boolean Desktop { get; set; }
    public Boolean Mobile { get; set; }
}
[HttpPost]
public string sendData(HttpRequestMessage  request,[FromBody] SubmitData marketModel)
{
    return "Data Reached";
}

1 个答案:

答案 0 :(得分:0)

显然它使用相同的逻辑.1)清除缓存2)运行API然后加载HTML