Javascript Heroku部署;公开获取/发布错误>;JS>;app.js/angular.module
这是我的server.js文件中的内容,在它从我的Public>javascripts>app.js文件请求GET/POST请求之前,它似乎工作正常(app.js语法见下文)Javascript Heroku部署;公开获取/发布错误>;JS>;app.js/angular.module,javascript,angularjs,node.js,heroku,Javascript,Angularjs,Node.js,Heroku,这是我的server.js文件中的内容,在它从我的Public>javascripts>app.js文件请求GET/POST请求之前,它似乎工作正常(app.js语法见下文) var express = require('express'); var app = express(); var router = express.Router(); var pg = require('pg'); var path = require('path'); // set the port of our
var express = require('express');
var app = express();
var router = express.Router();
var pg = require('pg');
var path = require('path');
// set the port of our application
// process.env.PORT lets the port be set by Heroku
var port = process.env.PORT || 3000;
// set the view engine to jade
app.set('view engine', 'jade');
// make express look in the public directory for assets (css/js/img)
app.use(express.static(path.join(__dirname, './client', 'public')));
app.get('/', function(req, res, next) {
res.sendFile(path.join(__dirname, 'views', 'index.html'));
});
// set the home page route
// app.get('/', function(req, res) {
// // jade render automatically looks in the views folder
// res.render('index');
// });
app.listen(port, function() {
console.log('Our app is running on http://localhost:' + port);
});
这是我的Public>javascripts>app.js文件
angular.module('nodeTodo', [])
.controller('mainController', function($scope, $http) {
$scope.formData = {};
$scope.todoData = {};
// Get all todos
$http.get('/api/v1/todos')
.success(function(data) {
$scope.todoData = data;
console.log(data);
})
.error(function(error) {
console.log('Error: ' + error);
});
// Create a new todo
$scope.createTodo = function(todoID) {
$http.post('/api/v1/todos', $scope.formData)
.success(function(data) {
$scope.formData = {};
$scope.todoData = data;
console.log(data);
})
.error(function(error) {
console.log('Error: ' + error);
});
};
// Delete a todo
$scope.deleteTodo = function(todoID) {
$http.delete('/api/v1/todos/' + todoID)
.success(function(data) {
$scope.todoData = data;
console.log(data);
})
.error(function(data) {
console.log('Error: ' + data);
});
};
});
提前感谢您的帮助!您必须在NodeJs应用程序中定义API的端点。 在您的代码中,“/”只有一个get路由,而AngularJs控制器中没有必需的路由 尝试将以下内容添加到server.js文件:
app.get('/api/v1/todos', function(req, res, next) { ... }
app.post('/api/v1/todos', function(req, res, next) { ... }
app.delete('/api/v1/todos/:param', function(req, res, next) { ... }