角美元http.Post:不能向服务器发送带有数据的对象.数据作为字符串工作,作为对象-不是
Angular $http.post: cannot send objects with data to server. Data as a string works, as an object - not
我想用这个函数发送数据到服务器:
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' }
});
}
一切都很好。问题是:第一种方法比第二种方法更清晰,所以我想用第一种方法。但是我不知道怎么了:/
删除post中的header,或者像下面这样更改header
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' }
});
}
我以前就遇到过这个问题。试着
JSON.stringify(data)
在传递给邮局之前。然后,另一端的对象绑定器应该能够接受它。
你需要这样做…
因为AngularJS使用
传输数据
Content-Type: application/json
return $http.post('/api/Account/Register', {'dataObj' : data }, {
headers: { 'Content-Type': 'application/json' }
});
你的数据应该是一个键/值对,尝试:数据变量将在参数dataObj
相关文章:
- 将嵌套对象数据添加到窗体中
- 使用javascript更改嵌套对象数据
- 如何将状态对象/数据传递给(异步)ajax 回调
- 如何使用HTML5中的sessionStorage概念在Javascript中打印对象数据
- 如何在express中使用socket.io发布多个对象数据
- 如何在 Javascript 中将函数绑定到对象数据成员的更改
- 在$.ajax调用中将附加数据添加到jQuery包装的对象数据中
- 当点击处理程序添加到谷歌地图圆圈标记时,无法访问对象数据
- JavaScript对象数据和数组
- 访问主数组内的数组中的对象数据
- 角度.js从NG重复更新对象数据
- HTML 对象数据文件(如果未找到)
- 设置对象数据结构数组属性
- Ajax 请求不发送我的对象数据
- 获取对象数据的浅拷贝的最快方法是什么
- 如何访问对象的键值?希望从对象数据填充表
- JSON.parse 似乎不解析对象数据
- 在 android WebView 中的 java 和 javascript 之间共享对象(数据)
- 选择 JSON 对象数据表元素以列出其所有元素
- 当响应 JSON 对象数据计数为零时,AJAX 成功回调函数重定向到错误回调