不是放入標題的最簡單問題。
總之,我的應用程序是建立在nodejs
/expressjs
並建立了對URL的API:
編輯:我使用的是當前的代碼是:
$scope.updateProduct = $resource('/api/updateProduct/:product/:param/:value',{},{
query: {method:'GET'},
post: {method:'POST'},
save: {method:'PUT', params: {brand: '@brand', param:'@param', value:'@value'}},
remove: {method:'DELETE'}
});
$scope.updateProduct.save({
product : $scope.post._id,
param: 'likes',
value: $scope.user._id
});
目前它調用/api/updateProduct
而不是/api/updateProduct/<product>/<param>/<value>
,就像它應該/像我在執行$scope.updateProduct.get()
時一樣。
在我的控制檯我認爲(作爲一個例子):
PUT /api/updateBrand/Quay%20Eyewear%20Australia/userTags/sunglasses,%20classic 200 30ms - 2.31kb
然而,API不實際訪問/沒有任何反應。有趣的是,如果我在我的瀏覽器中訪問localhost:5000/api/updateBrand/Quay%20Eyewear%20Australia/userTags/sunglasses,%20classic
,它會發布正確的數據並在我的數據庫中更新產品,所以這肯定是調用$resource
的錯誤。
有趣,謝謝。我擺脫了資源調用中的附加參數,所以它只是$ resource('/ api/updateProduct /:product /:param /:value')。然而,當我執行$ scope.updateProduct.save()時,它會進入POST/api/updateBrand 200 34ms - 2.31kb而不是POST/api/updateBrand/productname/paramater/value 200 34ms - 2.31kb,後端沒有任何反應。有任何想法嗎? – Jascination
您應該保存參數,方法與粘貼您的問題相同:'$ scope.updateProduct.save({0} {0} {scope.post._id, param:'likes', value :$ scope.user._id });' – Beterraba
我已經這樣做了,我會更新上面的問題來澄清一點。 – Jascination