gpt4 book ai didi

node.js - 页面未从 Express POST 路由呈现

转载 作者:太空宇宙 更新时间:2023-11-03 22:02:19 25 4
gpt4 key购买 nike

我正在尝试使用 POST 路由显示页面,但到目前为止还没有成功。该路线是从 Angular Controller 调用的。 POST 路由被正确调用 - 我在 Node 控制台 POST/search 200 673ms 中得到这个 - 但页面没有显示。如果我直接从浏览器调用路由(即输入地址),它就可以正常工作。任何帮助将不胜感激。

我找到了 similar post ,但那里发布的解决方案对我不起作用。

这是我的代码:
Angular Controller

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)

路由 Controller

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 调用呈现快速页面,它将无法正常工作。您应该只通过 ajax 请求数据,而不是页面。

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

$window.location="/search";

如果你的express Controller 渲染json应该没有问题。但由于您使用的是 res.render 方法,我知道情况并非如此。

关于node.js - 页面未从 Express POST 路由呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17650877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com