2017-02-04 67 views
0

我無法打開路由「/ d」,但「/」正在工作。可能是什麼問題呢?我嘗試了不同的事情,但ID沒有找到解決方案。無法獲取路線角

var myApp = angular.module('myApp',['ngRoute']); 

myApp.config(function ($routeProvider) { 
    $routeProvider.when('/', { 
     controller: 'OrdersController', 
     templateUrl: 'views/lp.html' 

}) 

    .when('/d',{ 
      controller:'OrdersController', 
      templateUrl: 'views/order_detail.html' 
     }) 



     .otherwise({ 
      redirectTo: '/' 
     }); 


}); 

服務器端代碼如下所示。也許他們不喜歡彼此;)

var express = require('express'); 
var app = express(); 
var bodyParser = require('body-parser'); 
var mongoose = require('mongoose'); 

app.use(express.static(__dirname+'/client')); 
app.use(bodyParser.json()); 

Order = require('./models/order.js'); 

//Connect to Mongoose 
mongoose.connect('mongodb://localhost/groundlevel'); 
var db = mongoose.connection; 

app.get('/', function(req, res){ 

    res.send('Please use /api/order'); 
}); 

app.get('/api/orders', function (req, res) { 
    Order.getOrders(function (err, orders) { 
     if(err){ 
      throw err; 
     } 
     res.json(orders); 
    }) 

}); 

app.get('/api/orders/:_id',function (req, res) { 
    Order.getOrderById(req.params._id, function (err, order) { 
    if(err){ 
     throw err; 
    } 
    res.json(order); 
}) 
}); 


app.post('/api/orders', function (req, res) { 
    var order = req.body; 
    Order.addOrder(order, function (err, order) { 
     if(err){ 
      throw err; 
     } 
     res.json(order); 
    }) 

}); 



app.listen(3000); 
console.log('Running on Port 3000...'); 
+0

您的控制檯中是否有錯誤? –

+0

只得到不能GET/d –

+0

你有服務器端嗎?也許你的服務器優先處理「/ d」路由。所以你需要讓你的服務器處理只是「/」你的家鄉路線 –

回答

1

讓你的客戶端應用程序處理路由。在您的服務器端執行以下操作:

var path= require('path'); 
// All other routes should redirect to the index.html 
app.route('/*') 
    .get((req, res) => { 
    res.sendFile(path.resolve(__dirname + '/client/index.html')); 
}); 
+0

如果標記爲答案如果它工作爲你 ? –

+0

我應該在哪裏放置這個代碼? – Sagi