Node.js экспресс удалить маршрутизация href не работает - PullRequest
0 голосов
/ 06 апреля 2019

У меня возникла проблема с моим маршрутом удаления.Он не может получить маршрут / delete / {{id}} из index.js

Я уже прочитал экспресс-документацию, и мне нужно написать такой же код с документацией, но он все еще не работает

input.hbs

<main>
        <div class="container">
            <h1>Hasil Input</h1>
            <table class="table">
                <thead>
                    <tr>
                        <th>Nama</th>
                        <th>NIM</th>
                        <th>Action</th>
                    </tr>
                </thead>
                <tbody>
                    {{#each data}}
                    <tr>
                        <td>{{name}}</td>
                        <td>{{nim}}</td>
                        <td> 
                            <a href="delete/{{key}}" class="btn btn-danger">Delete</a>  
                        </td>  
                    </tr>
                    {{/each}}                       
                </tbody>
            </table>            
        </div>
    </main>

index.js

app.post('/delete/(:id)', (req,res,next) => {
    id = req.params.id; 
    ref = database.ref('Person/'+id );
    ref.remove()
    res.redirect('/input')
})

это все еще показывает сообщение как это

Cannot GET /delete/-LbdQOw7xbv_Vrp0OD-u

1 Ответ

0 голосов
/ 06 апреля 2019

Вы можете использовать метод удаления, чтобы сделать это, Вот простой пример.

Предположим, есть класс Member.

На стороне сервера:

    router.delete('url/:id',(req,res) => {
        const found = members.some(member => member.id === parseInt(req.params.id));

    if(found){
      // Do something
      res.json( { msg: "member deleted",members: members.filter( member => member.id !== parseInt(req.params.id))});
    }
else{
          res.status(400).json( { msg: `No member with the id of ${req.params.id}`})
        }

      });

А на стороне клиента, Вы можете использовать Ajax

$.ajax({
    url: 'url/id',
    type: 'DELETE',
    success: function(result) {
        // Do something
    }
});
...