Postingan lainnya
Kelas Premium!
Belajar Javascript untuk website
Gunakan kupon "mulaijs" untuk diskon 75 ribu!
tidak bisa update dan delete dengan expressjs dan sequelize
Permisi gan,mau nanya ini kenapa yah saya gk bisa nge update sama delete?Jadi saya tuh lagi belajar bikin aplikasi kecil pakai expressjs,sequelize,sama mysql sebagai db nya.
Saya bisa delete kalo lewat postman,tapi kalo di coba di browser yang ada error..
bisa diliat langsung dibawah yah gan kodingan yang bersangkutannya..
list.hbs
<html>
<head>
<title></title>
</head>
<body>
<table border="1">
<thead>
<tr>
<th>Nama tempat wisata</th>
<th>Lokasi</th>
<th>Harga</th>
<th>Deskripsi</th>
</tr>
</thead>
{{#each results}}
<tbody>
<tr>
<td>{{ nama_tempat_wisata}}</td>
<td>{{ harga }}</td>
<td>{{ lokasi }}</td>
<td>{{ deskripsi }}</td>
<td>
<a href='/delete/{{ id }}'>delete</a>
<a href='/edit/{{ id }}'>edit</a>
</td>
</tr>
</tbody>
{{/each}}
</table>
</body>
</html>
edit.hbs
<html>
<head>
<title></title>
</head>
<body>
<form action="/update" method="put">
<label>Id</label>
<input type="number" name="id">
<label>Nama tempat wisata : </label>
<input type="text" name="nama_tempat_wisata">
<label>Lokasi : </label>
<input type="text" name="lokasi">
<label>Harga : </label>
<input type="text" name="harga">
<label>Deskripsi</label>
<textarea name="deskripsi" cols="80" rows="10"></textarea>
<button type="submit">Oke</button>
</form>
</body>
</html>
tempat_wisata.js
let express = require('express');
let conn = require('./conn');
let router = express.Router();
let model = require('../models');
let list_wisata = model.list_tempat_wisata;
//data json
router.get('/json',(req,res,next) => {
list_wisata.findAll({})
.then(data => res.json(data))
.catch( err => {
res.status(500).send({
'message' : err.message
});
});
});
//lihat data
router.get('/list',(req,res,next) => {
list_wisata.findAll({})
.then(data => {
res.render('list',{
results : data
});
})
.catch(err => {
res.json({
'err' : err.message
});
});
});
router.get('/tambah',(req,res,next) => {
res.render('data');
});
//tambah data
router.post('/kirim',(req,res,next) => {
const tempat_wisata = {
nama_tempat_wisata : req.body.nama_tempat_wisata,
lokasi : req.body.lokasi,
harga : req.body.harga,
deskripsi : req.body.deskripsi
};
list_wisata.create(tempat_wisata)
.then(data => res.send(data))
.catch( err => {
res.status(500).res.send({
'message' : err.message || "Terjadi Error pada program yang dibuat"
});
});
});
//update data
router.put('/edit/:id',(req,res) => {
const id = req.params.id;
list_wisata.findByPk(id)
.then(data => {
res.render('edit',{
results : data
});
})
.catch(err => {
res.json({
'messages' : err.messages
});
});
});
//hapus data
router.delete('/delete/:id',(req,res) => {
const id = req.params.id;
list_wisata.destroy({ where : {id:id} })
.then(num =>{
if (num) {
res.send({
message : 'Data Terhapus'
})}
else{
res.send({
message : 'Data tak bisa dihapus'
})
}
})
.catch(err => {
res.send({
message : err.message
});
});
});
module.exports = router;
Jadi tolong yah gan buat yang bisa bantuin hehe masih belajar terus soalnya..kalo ada yang kurang jelas boleh ditanyain..
2 Jawaban:
<div>kalo setau saya gan nodejs itu buat identifikasi id urlny kek gini<br><br>contoh: localhost:3000/post/update/:id<br><br>jadi nanti kalo misalkan di coba dipostman <br>localhost:3000/post/update/5hjbh5532j5h235h</div>
Tanggapan
iya ini buat frontendnya pake reactjs,makannya port expressjs diubah jadi ke 4000 hehe..
<div>hmm... gapernah pake buat frontendny sih hahaha<br><br>Url buat post updateny mana?</div>
Tanggapan
itu gan di file tempat_wisata.js,di komentar yang update data
ohya gan mau nanya klo mau update data di form methodnya pake post,put,atau patch yah?
kalo saya pakeny post biasany dan di postman juga post methodny
saya bingung di formny itu urlny update tapi saya ga nemuin update di tempat_wisata.js
iya udah bisa kok gan klo pake method post di form sama router nya..thx hehe