AngularJS POST页面404未find错误

我正尝试从我的Web应用程序联系页面发送电子邮件。

我在前端使用AngularJS,在服务器端使用node.js。

我正在我的本地机器上运行这个。

我相信我使用控制器http.post方法的错误的url,但我不知道要使用什么。 运行Web应用程序时的URL是: http:// localhost:63342 / Hardcore%20Gaming%20JS / index.html#/ contact

我想添加Hardcore%20Gaming%20JS / index.html#的url,或者它的一些变化? 我试图把它包含在url中,但没有解决问题。

客户端错误:POST http:// localhost:63342 / contact 404(Not Found)

我的控制器代码:

mainApp.controller('controller_contact', ['$scope', 'MyService', '$http', function ($scope, MyService, $http) { $scope.formInput = { name: "", email: "", message: "" }; $scope.submitForm = function (isValid) { $scope.formInput = { name: $scope.formInput.name, email: $scope.formInput.email, message: $scope.formInput.message }; if (isValid) { console.log($scope.formInput); $http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded"; $http.post('/contact', $scope.formInput) .success(function (data) { console.log("Success!" + data); }) .error(function (data) { console.log('Error: ' + data); }); console.log('Message sent successfully'); } } }]) 

这是我的服务器(Node.js):

 // server.js // set up ============================= var express = require('express'); var app = express(); var mongoose = require('mongoose'); var morgan = require('morgan'); var bodyParser = require('body-parser'); var methodOverride = require('method-override'); var port = process.env.PORT || 8080; // configurations ===================== mongoose.connect('mongodb://localhost/'); app.use(express.static(__dirname + '/Hardcore Gaming JS')); app.use(morgan('dev')); app.use(bodyParser.urlencoded({'extended': 'true'})); app.use(bodyParser.json()); app.use(bodyParser.json({type: 'application/vnd.api+json'})); app.use(methodOverride()); // routes ================================== // api ---------------------------------- app.post('/contact', function (req, res) { console.log("Req: " + req); // serverside email code goes here. console.log("Res: " + res); }); // listen (start app with node server.js) app.listen(port); console.log("App listening on port " + port); 

这是我的HTML:

 <div class="container" ng-controller="controller_contact"> <h2>Contact Us</h2> <form class="contactForm" name="form_contact" ng-controller="controller_contact" ng-submit="submitForm(form_contact.$valid)" novalidate> <div class="form-group"> <label for="contact_form_name">Name</label> <input id="contact_form_name" type="text" name="name" ng-model="formInput.name" placeholder="Full name" required> </div> <div class="form-group"> <label for="contact_form_email">Email</label> <input id="contact_form_email" type="email" name="email" ng-model="formInput.email" placeholder="Email address" required> </div> <div class="form-group"> <label for="contact_form_message">How can we help you?</label> <textarea id="contact_form_message" name="message" rows="4" ng-model="formInput.message" placeholder="Type message here." required></textarea> </div> <input type="submit" value="Send" ng-disabled="form_contact.$invalid"/> </form> <br> </div>