Так что я только начал создавать приложение стека 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');
}]);
Заранее благодарим за любую помощь, мы очень благодарны.
у вас есть маршрут для 'Post', но не' 'get' .... app.post ('/ апи/bubble'' – charlietfl
ха-ха, это сработало! Чувствуешь себя глупым, поскольку я только смотрел на него в течение нескольких часов;) Большое спасибо! – JamesLango
понятный ... новый стек занимает немного времени, чтобы привыкнуть к – charlietfl