我有角度的工厂,有以下获取请求
dataFactory.checkDb = function(artist){
return $http({
method: 'GET',
url: '/artist/' + artist
})
};
网址的后半部分是可变的。因此,我为get请求编写了一个表达式处理程序,如下所示:
app.get('/artist/*',dbhelpers.checkDbArtist)
由于某些原因dbhelpers.checkDbArtist
未被调用,我在Chrome开发者工具中收到以下错误:
GET http://localhost:3000/artist/Drake 404 (Not Found)
在这种情况下,德雷克是变量艺术家的名字。
我之前有以下代码,效果很好:
factory.js
dataFactory.checkDb = function(artist){
return $http({
method: 'GET',
url: '/artistsearch',
params: {artistname: artist}
})
};
express.js
app.get('/artistsearch',dbhelpers.checkDbArtist)
app.post('/artistsearch', dbhelpers.insertDb)
当我输入www.localhost.com/#/artist/Drake时,这不起作用,因为我得到一个没有数据的空视图,因为没有调用dbhelpers.checkDbArtist
。我想要做的是让我的应用程序访问www.localhost.com/#/artist/Drake并提出适当的获取请求。我想在网址中传递我的数据而不是params: {artistname: artist}
任何想法?
答案 0 :(得分:0)
尝试更改
app.get('/artist/*',dbhelpers.checkDbArtist)
到
app.get('/artist/:artist',dbhelpers.checkDbArtist)
在你的dbhelpers.checkDbArtist中,你可以像这样获得这个
req.params.artist