? Единственная причина, по которой вы получаете 404 ERROR
, заключается в том, что ваш маршрут не найден.
Почему ваш маршрут не найден? Это потому, что в вашем обработчике : server.js
или app.js
, вы установили метод delete следующим образом:
app.delete('/api/delete/:index',deleteRouter)
? Вы не должны этого делать, потому что вы когда-либо устанавливали метод delete
в deletion.js
. Итак, вам нужно всего лишь сделать что-то вроде этого:
app.use('/api/delete/:index',deleteRouter)
Код выше ? только для примера . Если это вас смущает, вы можете увидеть полный код ниже.
?? Вы можете сделать это, как этот код ниже ?:
удаление. js
router.delete('/:index',(req,res)=>{
var item = req.params.index;
console.log(`req.params.index is ${req.params.index}`)
let deletion = `DELETE FROM tnotesapi1.tearecords
WHERE primary_key = ${item}`
client.query(deletion, (res,err)=>{
if(err){
console.error(`Record Query error, ${err.stack}`)
}else{
console.log('Item has been deleted from dB')
res.send()
}
})
})
? В приведенном выше коде ? необходимо добавить params
. Поскольку вы используете index
, вам нужно добавить index
как params
.
сервер / приложение. js
app.use('/api/delete', deleteRouter)
? Теперь, в вашем обработчике server
или app
, у вас нет для использования delete
снова. Поскольку вы используете его в своем deletion.js
.
Интерфейс: с использованием axios
// change with your endpoint
const endPoint = 'http://localhost:3000/api/delete/' + index;
axios.delete(endpoint)
.then(response => {
console.log(response.data);
}).catch(ex => {
console.log(ex.data);
})
? Обновлено: Использование Fetch.
Если вы используете React , тогда вы можете использовать fetch
там, без использования axios
.
Вы можете использовать пример кода ниже:
async handleDelete(index) {
try {
// change the endpoint with yours
const endpoint = 'http://localhost:3000/api/delete/' + index;
const result = await fetch( endpoint, { method: 'DELETE' });
const json = await result.json();
console.log(json);
// do some stuff here: set state or some stuff you want
} catch(ex) {
console.log(ex);
}
}
? Приведенный выше код ? пример , как отправить delete
запрос на ваш бэкэнд, используя fetch
в реакции.
Надеюсь, это поможет вам ?.