无法使用angularjs将数据发送到web api方法

时间:2017-01-24 13:06:18

标签: angularjs json asp.net-web-api asp.net-mvc-5

enter image description here您好我正在使用web api2和angularjs开发一个应用程序。发现将数据发送到web api方法的艰难时刻。我有问题将数据作为对象发送到PUT和POST方法。在delete和getbyid方法中,我能够发送单个参数,但我无法将数据作为对象发送。我收到如下null。 enter image description here

我使用angularjs调用如下。

this.saveSubscriber = function (sub) {
        return $http({
            method: 'post',
            data: sub,
            url: '/NCT_Users/',
          // contentType: "application/json"
            headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
        });
    }

如果我在上面的代码中注释标题并取消注释contentType,我将获得完全空的对象,如下所示。 enter image description here enter image description here

我可以知道为什么我无法将对象绑定到模型吗?任何帮助,将不胜感激。谢谢。

3 个答案:

答案 0 :(得分:1)

var person = {firstName:"John", lastName:"Doe", age:46};

$http.post('url', person)
       .success(function (response){
            alert(response);
           });

accesstoken是已定义的变量。您可以定义变量以将其传递给服务器

var person = {
               firstName:"John", 
               lastName:"Doe", 
               age:46
             };

$http.post('url', person)
     .success(function (response) { 
         alert(response); 
     });

答案 1 :(得分:1)

尝试这种方式。

var sub = {
             User_CreatedDate: "", 
             UserEmailId: "", 
             User_Id: "", 
             User_MobileNum: "", 
             User_Name: "", 
             User_Password: "", 
             User_Role: "", 
             User_Status: "", 
             User_UpdateDate: ""
          };

    $http.post('/NCT_Users/', sub).success(function (response) { alert(response); });

字段由您填写

答案 2 :(得分:0)

这是因为您通过' application / x-www-form-urlencoded '发送JS对象。头。您必须将数据作为参数发送,请尝试此更新的功能:

this.saveSubscriber = function (sub) {
        return $http({
            method: 'POST',
            data: $.param(sub),
            url: '/NCT_Users/',
            headers : { 'Content-Type': 'application/x-www-form-urlencoded' }
        });
}