raf*_*s88 4 python flask angularjs
我在AngularJS中有这个代码:
myApp.controller('LoginCtrl', function($scope, $http){
$scope.formData = {};
$scope.doLogin = function(url, pass){
$http({
url: url,
method: "POST",
data: $.param($scope.formData)
}).success(function(data) {
console.log(data)
});
}
});
Run Code Online (Sandbox Code Playgroud)
在beckend(Flask)中,我有这个:
def user_authenticate():
login = request.args.get('login')
password = request.args.get('password')
print login, password
Run Code Online (Sandbox Code Playgroud)
问题是request.args为空.
UPDATE
在遇到很多问题后,我解决了另一个Stackoverflow的问题.所以,我得到了这段代码:
ANGULARJS
$scope.doLogin = function(url, pass){
$http({
url: url,
method: "POST",
headers: { 'Content-Type': 'application/json' },
data: JSON.stringify(data)
}).success(function(data) {
console.log(data)
});
}
Run Code Online (Sandbox Code Playgroud)
烧瓶
def view_of_test():
post = request.get_json()
param = post.get('param_name')
Run Code Online (Sandbox Code Playgroud)
旧版
我只是想我需要将我的代码更改为:
AngularJS:
myApp.controller('LoginCtrl', function($scope, $http){
$scope.formData = {};
$scope.doLogin = function(url, pass){
$http({
url: url,
method: "POST",
data: $.param($scope.formData),
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
}).success(function(data) {
console.log(data)
});
}
});
Run Code Online (Sandbox Code Playgroud)
只需添加"Content-Type"标题即可.
烧瓶:
def user_authenticate():
login = request.form.get('login')
password = request.form.get('password')
print login, password
Run Code Online (Sandbox Code Playgroud)
而不是使用request.args,请使用request.form.
| 归档时间: |
|
| 查看次数: |
10357 次 |
| 最近记录: |