我正在尝试使用Angularjs和node.js设计登录页面,并且有错误将数据从控制器发送到我的数据库连接文件,我将在其中执行数据库事务。
错误是POST http://localhost:63342/logindata 404(未找到)
在描述中它指向行$http.post('/logindata', $scope.user);
这是我的代码
的login.html
<!DOCTYPE html>
<html lang="en-US">
<head>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
</head>
<body>
<div ng-app="" ng-controller="LoginControl">
User Name : <input type="text" ng-model="user.username">
Password : <input type="password" ng-model="user.password">
<br>
<button ng-click='authentication()'>Submit</button>
</div>
<script src="myLoginController.js"></script>
</body>
</html>
</body>
</html>
myLoginController.js
function LoginControl($scope, $http){
console.log("Hello...");
$scope.authentication = function() {
console.log($scope.user);
$http.post('/logindata', $scope.user);
};
}
connection.js
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(express.static(__dirname + "/public/angular"));
app.use(bodyParser.json());
app.post('/logindata', function (request,response) {
console.log("received data");
console.log(request.body);
});
app.listen(3000);
console.log('Server running on 3000');
任何人都可以建议我如何解决这个问题? 谢谢
答案 0 :(得分:0)
服务器在端口3000上运行,您的请求是端口63342.这就是问题所在。代码本身很好。
您应该在http://localhost:3000而不是其他端口打开您的网站。
答案 1 :(得分:0)
为了使其在您的开发环境中运行,您可以执行以下操作:
您的代码现在应该可以使用。
您正在尝试执行跨源资源共享(CORS),默认情况下浏览器不允许这样做。 Chrome扩展程序可通过向请求添加必需的标头来实现。