javascript - Angular $http.post : cannot send objects with data to server. 数据作为字符串工作,作为对象工作 - 不工作

标签 javascript angularjs

我想使用此函数将数据发送到服务器:

var _register = function (email, password, passconfirmation) {
    var data = {
        "Email": email,
        "Password": password,
        "ConfirmPassword": passconfirmation
    };

    return $http.post('/api/Account/Register', data, {
        headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
    });
}

这不起作用。我的 ASP.net Web api 未收到任何数据。服务器端的每个变量都是“null”。但是当我这样做时:

var _register = function (email, password, passconfirmation) {
    var data = "email=" + email + "&password=" + password + "&ConfirmPassword=" + passconfirmation;

    return $http.post('/api/Account/Register', data, {
        headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
    });
}

一切都很好。问题是:第一种方式比第二种方式清晰得多,所以我想使用第一种方式。但我不知道出了什么问题:/

最佳答案

删除帖子中的标题或更改标题,如下所示

 headers: { 'Content-Type': 'application/json' }

你的代码应该是

var _register = function (email, password, passconfirmation) {
    var data = {
        "Email": email,
        "Password": password,
        "ConfirmPassword": passconfirmation
    };

    return $http.post('/api/Account/Register', data, {
        headers: { 'Content-Type': 'application/json' }
    });
}

关于javascript - Angular $http.post : cannot send objects with data to server. 数据作为字符串工作,作为对象工作 - 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31537285/

相关文章:

javascript - 如何在带有嵌套 JSON 的 ng-repeat 中使用键值对

jquery - 这是在 Angular JS 项目中使用 jQuery 的好习惯吗?

javascript - 带有自定义命令的 AngularJS 剑道网格包括模板不处理事件

javascript - CasperJS 循环遍历表并抓取数据以获取 JSON 输出

javascript - React bootstrap 导航栏折叠不起作用

javascript - raphael viewbox 动画缩放

angularjs - select 中 ionic 的奇怪行为,ng-model 将不会更新

angularjs - 使用d3.js svg clipPath不能在Angular中进行裁剪

javascript - 在 session 中维护 Facebook 用户 ID

javascript - 在配置 AngularJS 中访问主机名