Node.js 未从快件邮寄路线呈现页面

Node.js 未从快件邮寄路线呈现页面,node.js,angularjs,express,Node.js,Angularjs,Express,我正在尝试使用POST路径显示页面,但到目前为止没有成功。从角度控制器调用路由。POST路由被正确调用-我在节点控制台POST/search 200 673ms中得到了这个消息-但是页面没有显示。如果我直接从浏览器调用路由(即键入地址),它可以正常工作。任何帮助都将不胜感激 我已经找到了一个解决方案,但是发布在那里的解决方案对我不起作用 这是我的代码: 角度控制器 function SearchController($scope, $http){ $scope.product = {...

我正在尝试使用POST路径显示页面,但到目前为止没有成功。从角度控制器调用路由。POST路由被正确调用-我在节点控制台
POST/search 200 673ms
中得到了这个消息-但是页面没有显示。如果我直接从浏览器调用路由(即键入地址),它可以正常工作。任何帮助都将不胜感激

我已经找到了一个解决方案,但是发布在那里的解决方案对我不起作用

这是我的代码:
角度控制器

function SearchController($scope, $http){
   $scope.product = {...};

   $scope.search = function(form) {
      $http.post('/search', { product : $scope.product });
   };
}
路由定义

  var products = require('../app/controllers/products')
  app.post('/search', auth.requiresLogin, products.results)
路线控制员

exports.results = function (req, res) {
   // build query and fields var

   Product.find(query, fields, function (err, docs) {
      res.render('products/results', {
        title: 'Search Results',
        user: req.user ? JSON.stringify(req.user) : "null",
        searchResults: docs ? docs : "null"
      })
   });
}

我使用的是Express 3.3.3、Node 0.10.9和Angular 1.0.3

如果您试图通过$http调用呈现一个Express页面,它将无法工作。您应该只通过ajax而不是页面请求数据

如果需要重定向到页面,请使用ajax回调中的$window服务

$window.location="/search";

如果您的express控制器呈现json,应该没有问题。但是,由于您使用的是res.render方法,我理解情况并非如此。

谢谢@mpm,这为我指明了正确的方向。我现在在
find
方法中使用
res.json
将json返回给Angular Controller,然后返回给Jade模板