форматировал, можно вернуться к теме delete
переделал, сделал запросы GET, POST ( читало и записывало в Json)
код, который работает
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var fs = require('fs');
const path = require('path');
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(express.static(__dirname + '/public'));
app.post('/process_post', (req, res) => {
// należy utworzyć nowy obiek
const newWeather = {
id: 1,
location: req.body.location,
id: 2,
temperature: req.body.temperature,
id: 3,
humidity: req.body.humidity,
id: 4,
pressure: req.body.pressure
};
console.log(req.body)
// читаем актуальные данные
const weather = JSON.parse(fs.readFileSync("weather.json"));
// dodać do nich nową pogodę
weather.push(newWeather);
// записать изменения
fs.writeFileSync("weather.json", JSON.stringify(weather));
res.json(newWeather);
});
app.get('/process_get', function(req, res) {
const records = JSON.parse(fs.readFileSync("weather.json"));
const weather = JSON.parse(fs.readFileSync("weather.json"));
res.json(weather);
});
// не работает
app.delete('/delete/:id', function(req, res) {
const weather = JSON.parse(fs.readFileSync("weather.json"));
var id = req.param("id");
weather.remove({
_id: id
}, function(err) {
if (err) {
console.log(err)
} else {
return res.send("Removed");
}
});
fs.writeFileSync("weather.json", JSON.stringify(weather));
res.json(newWeather);
});
var server = app.listen(8081, function() {
var host = server.address().address
var port = server.address().port console.log("Example app listening at //%s:%s", host, port)
}
<!DOCTYPE html>
<meta charset="utf-8">
<title>Test</title>
</head>
<body>
<form action="//127.0.0.1:8081/process_get" method="GET">
<br>
Location: <input type="text" name="location"> <br> <br><br>
temperature: temperaturę w st. C
<input type="text" name="temperature"> C<br><br>
humidity: wilgotność powietrza w %
<input type="text" name="humidity"> %<br><br>
pressure: ciśnienie w hPa
<input type="text" name="pressure"> hPa<br><br>
<br>
<input type="submit" value="GET">
</form>
<form action="//127.0.0.1:8081/process_post" method="POST">
Location: <input type="text" name="location"> <br> <br> <br>
temperature: temperaturę w st. C
<input type="text" name="temperature"> C<br><br>
humidity: wilgotność powietrza w %
<input type="text" name="humidity"> %<br><br>
pressure: ciśnienie w hPa
<input type="text" name="pressure"> hPa<br><br>
<input type="submit" value="POST">
</form>
<br>
<form action="//127.0.0.1:8081/process_delete" method="DELETE">
Location: <input type="text" id="1" name="location"><br><br>
temperature: <input type="text" id="2" name="temperature"><br><br>
humidity: <input type="text" id="3" name="humidity"><br><br>
pressure: <input type="text" id="4" name="pressure"><br><br>
<input type="submit" value="DELETE"><br>
</form>
</body>
</html>
Html
вопрос, метод post или все таки delete
В форме же input не должно ж ничего появляться? что мол, файл json прочитан, input же пустой по идее будет
отдельно вынес id, чтобы удалять этот массив.
и еще вопрос, в самом удаление html button точно также управляется, как и в пост , гет?
да я ссоздал файл json cпустым массивом и данные с пост в него нормально записываются и показываются в браузере
Гет тоже нормально все показывает
ps проблема моя с удалением пост
Спасибо
Редактировать/удалить сообщение