尽管传递了参数也无法获取终点
尝试将ID传递给GET请求的终点
controller.js
var vid = $routeParams.vidId //get the video id
console.log(vid) //works
$http({
method:'GET',
url:'/thread/',
params:{vid_id:vid},
}).then(function(success){
console.log('success')
}, function(error){
console.log('error')
})
server.js
app.get('/thread/:vid_id', function(req,res){
console.log(req.params.vid_id)
})
我希望在服务器控制台上看到vid_id
,但是却收到404错误。
angular.js:13531 GET http://localhost:5000/thread/?vid_id=5cb01f6b03fb0b3e6c2abf7f 404 (Not Found)
答案 0 :(得分:0)
您正在使用params
的{{1}}属性,该属性用于将查询字符串参数附加到URL(例如?vid_id = 123)。
您需要动态设置要调用的URL,如下所示:
$http
如果这不起作用,请尝试使服务器在端点上显示一些文本,而不是仅执行var vid = $routeParams.vidId //get the video id
console.log(vid) //works
$http({
method:'GET',
url:'/thread/' + vid // <==== HERE
})
.then(function(success){
console.log('success')
}, function(error){
console.log('error')
});
:
server.js
console.log()
答案 1 :(得分:0)
谢谢@nevada_Scout: 我修改了您的建议,使其工作如下:
$http({
method:'GET',
url:'/thread/' +JSON.stringify(vid),
}).then(function(success){
console.log(success)
}, function(err){
console.log(err)
})
问题解决了。