平均服務器角度爲2+。 我有一個dataservice.js,請求到服務器,以接收來自http://localhost:3000/server/routes/api/test.js json響應這給我一個錯誤沒有選擇500視圖引擎, 我的理解是角度不需要視圖引擎?由於角度/瀏覽器需要照顧。有效的json格式給出錯誤「<」,同時解析也使用平均堆棧角度查看引擎錯誤500 2+
不知怎的,路由似乎不工作,當我做api的getter。
角度路由與html組件一起工作,但是通過dataservice獲得對mongodb的請求也不起作用。 get/test通常返回錯誤500,並且沒有選擇視圖引擎。
如果確實返回了某個內容,它將返回一個不是jsn格式的錯誤消息「<」。
如何確保路由對我的get和post消息起作用,並且它們以json格式而不是以HTML格式返回。 我怎麼知道它使用正確的路由?我以某種方式懷疑get/post消息的rouitng似乎使用express而不是角度模塊
我對堆棧溢出/平均服務器相當陌生,所以如果您需要更多信息,請告訴我。
FYI 我已經能夠從服務器(而不是數據庫)通過get獲取json文件。這工作。那麼爲什麼到數據庫似乎不工作,以及爲什麼我似乎無法從api中的http://localhost:3000/server/routes/test/api.js獲得json響應。
我花了整整2天的時間排除故障,沒有任何結果。
in my api.js
router.get ('/test', function (req, res, next) {
res.json({'testMessage': 'everything is going ', 'someNumber': 457});
});
在server.js
<!-- end snippet -->
<!-- begin snippet: js hide: false console: true babel: false -->
<!-- language: lang-js -->
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var bodyParser = require('body-parser');
var morgan = require ('morgan');
var mongoose = require('mongoose');
var flash = require('connect-flash');
var chat = require('./server/routes/chat');
var app = express();
var passport = require ('passport');
var cookieParser = require ('cookie-parser');
var session = require ('express-session');
var config = require ('./config/database');
var engines = require('consolidate');
var mongoose = require('mongoose');
var router = express.Router();
// this is where I set up the routing for the api
// in the root of the project I created server directory and
// within it a routes directory that holds the api.js
var api = require('./server/routes/api');
mongoose.Promise = require ('q').Promise;
require('./config/passport')(passport);
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({'extended':'true'}));
app.use(express.static(path.join(__dirname, 'dist')));
app.use(express.static(path.join(__dirname, 'public')));
app.use(cookieParser());
app.use(morgan('dev'));
app.use(session({
secret: 'secret123',
resave: true,
saveUnitialized: true
}));
app.use(passport.initialize());
app.use(passport.session());
app.use(flash());
//this is where I set up the routing is something wrong here?
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, 'dist/index.html'));
});
app.use('api', api);
您是否嘗試過直接從瀏覽器使用API?由於它是GET調用,因此您可以將該URL發佈到搜索地址並檢查結果。看起來這個問題並不在你的Angular代碼中,而是在你的API實現中,但你應該驗證它。 –
我在瀏覽器中檢查過它,它通常會返回500錯誤,但從來沒有從josn文件得到任何結果,我在查看調試器時看到了html輸出。醫生會幫助我嗎?只要閱讀這篇文章:https://stackoverflow.com/questions/30216583/how-to-enable-cors-in-mean-stack-web-app。無法使用cors或專門添加.json來解決我的問題。 – oudekaas
這告訴我們這個問題在服務器端。使用調試器,或查看日誌以瞭解想法。 –