我正在尝试登录表单。我正在使用angularjs'ng-submit。单击提交按钮时,我希望在服务器中调用post方法而不更改URL。
快递的post
需要一个响应的网址。如果我的登录屏幕的网址为http://localhost:2000/login
,并且在点击提交时,我希望为同一网址post
调用http://localhost:2000/login
。
我不明白如何使用url
的{{1}}密钥。
登录html:
$http
控制器:
<form ng-controller="loginController" ng-submit="loginFunc()">
<input type="text" name="" ng-model="login">
<input type="password" ng-model="password" name="">
<input type="submit" value="login" name="">
server.js:
.controller('loginController', function($scope, $http) {
$scope.login = ""
$scope.password = "";
$scope.loginArray = [];
$scope.loginFunc() {
$scope.loginArray.push($scope.login);
$scope.loginArray.push($scope.password);
$http({
method: 'POST',
url: 'loginClick',
data: $scope.loginArray
})
}
})
答案 0 :(得分:0)
您应该将POST数据作为对象发送,而不是作为数组发送,如果不表达,则不知道哪个param具有哪个值。
另外,像“登录点击”这样的字符串&#39;不起作为网址。
尝试类似:
$scope.loginFunc = function(){
$http({
method:'POST',
url:'/login',
data: {
login: $scope.login,
password: $scope.password
}
})
}
不是100%肯定是&#39; / login&#39;对于url是足够的,如果不是尝试使用端口等指定绝对URL
如果您想发布到&#39; / login&#39;,您还必须调整您的快速路线:
app.post('/login', function(request,response) {
console.log(JSON.stringify(request.body)+"req");
})