2015-07-15 1 views
0

Так что я только начал создавать приложение стека MEAN, и я изо всех сил пытаюсь исправить ошибку, которая появляется в консоли браузера. Я получаю сообщение об ошибке:GET http: // localhost: 3000/api/bubble 404 (не найдено)

ПОЛУЧИТЬ http://localhost:3000/api/bubble 404 (не найден)

Теперь я не совсем уверен, как отладить это, как я сделал базовый проект перед использованием подобного кода (я просто изменил имена переменных) и это сработало. Я даже сравнил код, который я использовал для двух проектов, и они в основном идентичны.

Что может быть причиной этой ошибки? Насколько я понимаю, ngResource не сможет найти «/ api/bubble», но я не уверен, как проверить это или даже исправить эту ошибку.

Вот мой файловый сервер:

'use strict'; 

var port = 3000, 
    express   = require('express'), 
    app    = express(), 
    bodyParser  = require('body-parser'), 
    mongoose   = require('mongoose'), 
    mainController = require('./app/server/controllers/mainController.js'); 


    mongoose.connect('mongodb://localhost:27017/aston-connect'); 

    app.get('/', function(req, res){ 
    res.sendFile(__dirname + '/app/index.html'); 
}); 

app.use('/js', express.static(__dirname + '/app/public/scripts/js')); 
app.use('/templates', express.static(__dirname + '/app/public/views/templates')); 
app.use('/views', express.static(__dirname + '/app/public/views')); 

app.post('/api/bubble', mainController.createBubble); 

app.listen(port, function(){ 
    console.log('Listening on port: ' + port); 
}); 

Контроллер для сервера:

var Bubble = require('../models/bubble'); 

//module.exports.bubbleList = function(req, res){ 
    //Bubble.find({}, function(err, results){ 
    //res.json(results); 
    //}) 
//} 
module.exports.createBubble = function(req, res){ 
    var bubble = new Bubble(req.body); 
    bubble.save(function(err, result){ 
    if (err){ 
     res.send(err); 

    } 

    res.json(result); 
    }) 
} 

module.exports.bubbleList = function(req, res){ 
    Bubble.find({}, function(err, results){ 
    res.json(results); 
    }) 
} 

модель "пузырь":

var mongoose = require('mongoose'); 
var autoIncrement = require('mongoose-auto-increment'); 
var Schema = mongoose.Schema; 
var connection = mongoose.createConnection("mongodb://localhost/aston-connect"); 
    autoIncrement.initialize(connection); 



module.exports = mongoose.model('Bubble', { 
    title: String, 
    colour: String 
}); 

и контроллер для моего приложения на сторона клиента:

var app = angular.module('aston-connect', ['ngResource','ui.router','ngCookies']); 

/* Main controller */ 
app.controller('mainCtrl', [ 
    '$scope', 
    '$resource', 
    function ($scope, $resource){ 

    var Bubble = $resource('/api/bubble'); 

    Bubble.query(function(results){ 
     $scope.users = results; 
    }); 

    $scope.createBubble = function() { 
     var bubble = new Bubble(); 
     bubble.title = $scope.title; 
     bubble.colour = $scope.colour; 
     bubble.$save(function(result){ 
     $scope.bubbles.push(result); 
     }); 
     $scope.title = ''; 
    } 
    }]); 

/* Config for app */ 
app.config([ 
    '$stateProvider', 
    '$urlRouterProvider', 
    function($stateProvider, $urlRouterProvider) { 

    $stateProvider 
     .state('prefs',{ 
     url: '/prefs/', 
     templateUrl: 'templates/prefs.html', 
     controller: 'mainCtrl' 
     }); 

    $stateProvider 
     .state('help',{ 
     url: '/help/', 
     templateUrl: 'templates/help.html', 
     controller: 'mainCtrl' 
     }); 

    $urlRouterProvider.otherwise('prefs'); 
    }]); 

Заранее благодарим за любую помощь, мы очень благодарны.

+0

у вас есть маршрут для 'Post', но не' 'get' .... app.post ('/ апи/bubble'' – charlietfl

+0

ха-ха, это сработало! Чувствуешь себя глупым, поскольку я только смотрел на него в течение нескольких часов;) Большое спасибо! – JamesLango

+0

понятный ... новый стек занимает немного времени, чтобы привыкнуть к – charlietfl

ответ

0

Вашего HttpGet URL не matching.It может быть вызван любой орфографической ошибка или что-нибудь еще