2016-07-24 78 views
0

我對Express很新。在這種情況下,我在頁面users中有一個<table>,其中我在每一行中都有一個鏈接來刪除條目。每次用戶點擊這些鏈接時,我都必須刪除數據庫中的該條目。這不是一個SPA,我也不想(像)使用其他前端框架,如React。管理用戶與快速應用程序的交互

處理這個問題的最佳方法是什麼?

我正在處理這是創建一個新的路線的方式:

router.get('/users/delete/:userId', db.deleteUser(req.query.deleteUser)); 

而且在每一行的末尾前端:

<a href="users/delete/deleteuser=77">Delete this user</a> 

但它似乎並沒有最好的方法去做這件事。我想過使用AJAX,但我發現它爲我的表的每一行創建一個隱藏的輸入和一個for的開銷。非常感謝。

回答

0

您可以在路由器中刪除類似下面

服務器端

router.delete('/users/:userId(\\d+)', deleteUser); 
... 
function deleteUser(req, res, next) { 
    db.deleteUser(req.params.userId, function(err) { 
     if (err) 
      return res.status(500).send(err.message); 

     res.status(200).end(); 
    }); 
} 

客戶端

<a onclick="deleteUser(77)">Delete this user</a> 
... 
function deleteUser(id) { 
    $.ajax({ 
     type: 'DELETE', 
     url: '/users/' + id, 
     success: function(data) { 
      window.location.href = '/users'; 
     } 
    }); 
} 
+0

什麼,如果在同一個頁面上我有兩個圖標,一個是刪除說用戶和一個刪除用戶的連接?這個方法可以縮放嗎? – ocram

+0

您可以創建單獨的路由器來刪除用戶和連接。例如'router.delete('/ users /:id')''和'router.delete('/ users /:id/connection')'。爲什麼不? –

相關問題