【问题标题】:When I res.render after fetching parameters from URL, the page loads with the prior URL当我从 URL 获取参数后 res.render 时,页面会使用先前的 URL 加载
【发布时间】:2016-11-01 04:09:01
【问题描述】:

**Task:**根据product_id检索产品: 示例:当我点击 localhost:8080/products/44566 服务器响应产品页面,产品 ID 为:44566

有产品的主页,当我点击它们时,它们会将 product_id 传递给 Angular JS 控制器,如下所示:

$scope.getProductPage = function(product_id){

        // window.location.assign("/products/"+product_id);

        $http({
            url:"/products/"+product_id,
            method : "GET"
        }).then(function mySuccess(response){

            window.location.assign("/products/"+product_id);

        }, function myError(response){

        });

    };

这会将数据发送到此处的节点服务器:

//API to GET the sell page
router.get('/products/:product_id', function(req, res, next) {

  var product_id = req.params.product_id;
  console.log('product_id', product_id);

  res.render("productPage", {data: req.params.product_id});

});

这意味着我渲染 productPage.ejs 并且响应成功返回到我的 Angular js 控制器:

$scope.getProductPage = function(product_id){

        // window.location.assign("/products/"+product_id);

        $http({
            url:"/products/"+product_id,
            method : "GET"
        }).then(function mySuccess(response){

            window.location.assign("/products/"+product_id);

        }, function myError(response){

        });

    };

它在哪里使用 window.location.assign("/products/"+product_id);转到具有该特定 product_id 的页面。但是当该页面加载时,我看到服务器的以下行为:

请注意,所有 URL 都与请求 /products/ 一起使用,其中只有主路由 URL 应该这样传递

【问题讨论】:

    标签: angularjs node.js express


    【解决方案1】:

    通过“这种行为”,我假设您的意思是样式表/图像未正确加载。

    这是因为在您的 HTML 页面(或者更确切地说是 .ejs 模板文件)中,您正在放置一个文档相对 URL 来加载它们。例如:

    <img src="images/xyz.png" />
    

    然而,这些应该是绝对 URI:

    <img src="/images/xyz.png" />
    

    或者,您可以在 &lt;head&gt; 节点中使用 &lt;base&gt; 标记:

    <base href="/">
    

    【讨论】:

      猜你喜欢
      • 2011-06-17
      • 2013-03-01
      • 1970-01-01
      • 2011-05-26
      • 1970-01-01
      • 1970-01-01
      • 2014-11-21
      • 1970-01-01
      • 2019-04-27
      相关资源
      最近更新 更多