2016-06-25 73 views
0

我有一些基於他的身份證geting單用戶的麻煩。我可以在我的應用程序中使用DELETE刪除此特定用戶,但我無法使用「GET」獲取有關他的信息。通過ui路由器傳遞參數到服務器

這是我的角度app.js

app.controller('editUser', function($scope, $http, $state) { 
    $http.get('users/editUser/'+$state.params.userId).success(function(data) { 
     console.log(data); 
    }); 
}); 

,這是我users.js routes文件

router.get('/editUser/:userId', ensureAuthenticated, function(res, req, next) { 
    var userId= req.params.userId, 
     data; 

    getUser.findOne({'_id': userId}, function(err, user) { 
     if(err) throw err; 
     data = user; 
     res.json(data); 
    }); 
}); 

點擊 「編輯」 按鈕,我重定向到用戶後/ editUser/ffw23rfaw - 它的ID,並基於此ID我使用get函數來獲取有關他的信息,但我得到500「內部服務器錯誤」。我想補充一點,刪除用戶幾乎是相同的,它的工作原理。

單擊編輯按鈕後,我做這個

$scope.editUser = function($index) { 
     $state.go('editUser', {userId: $index}); 
    } 

這就是我如何讓用戶id「用戶/ editUser /頁面

上,這是我的狀態配置

.state('editUser', { 
     url: '/users/editUser/:userId', 
     templateUrl: '/views/editUser.html' 
    }) 
+0

需要取消關閉'getUser.findOne()'所需的大括號。你在節點控制檯中看到了什麼? – charlietfl

+0

500內部錯誤意味着破壞了服務器端的代碼。你能發表一些關於錯誤的更多細節嗎?也許是快照。 – AhsanAyaz

+0

@charlietfl對不起,我只是沒有刪除所有評論前張貼在這裏。在我的電腦theres沒有評論那裏 –

回答

0

找到了問題:) 您的代碼有function(res, req, next) 更改爲

function(req, res, next) 

只是錯誤地放置參數(變量名稱)。 希望這有助於。 (感謝您指出控制檯消息)

+0

LIFE SAVER! :)該死的我只是輸入快速xd –

+0

我們都這麼做:D沒問題! – AhsanAyaz

相關問題