Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Heroku部署;公开获取/发布错误>;JS>;app.js/angular.module_Javascript_Angularjs_Node.js_Heroku - Fatal编程技术网

Javascript Heroku部署;公开获取/发布错误>;JS>;app.js/angular.module

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

这是我的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 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) { ... }