【发布时间】: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 应该这样传递
【问题讨论】: