[英]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' }
});
}
一切正常。 問題是:第一種方法比第二種方法清晰得多,因此我想使用第一種方法。 但是我不知道怎么了:/
我過去曾遇到過這個問題。 嘗試
JSON.stringify(data)
在將其傳遞到職位之前。 然后,另一側的對象資料夾應該能夠接受它。
刪除帖子中的標題或更改標題,如下所示
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' }
});
}
你需要這樣做
自AngularJS以來,使用
Content-Type: application/json
return $http.post('/api/Account/Register', {'dataObj' : data }, {
headers: { 'Content-Type': 'application/json' }
});
您的數據應為鍵/值對,請嘗試:數據變量將在參數dataObj
下到達服務器
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.