Я пытаюсь отправить запрос HTTP POST в мою базу данных Mlab.
В разработке все нормально.Но в производственной среде мои запросы отправляются без каких-либо значений.
Я использую MongoDB + Express + Reactjs + Node - MERN STACK - + Heroku PaaS.
Также я получил по адресув начале моего сеанса появляется сообщение о том, что:
Failed to register a ServiceWorker: A bad HTTP response code (404) was received when fetching the script
Но в настоящее время я больше не получаю это сообщение: я настроил своего сервисного работника на обновление при каждой перезагрузке и перемещаю копию моегоserviceworker.js в моей папке HTML.
Почему мои HTTP-запросы POST все еще остаются пустыми, когда я их отправляю?
Что касается моих журналов, кажется, есть проблема с моими работниками сервиса и файлом.карта:
2018-05-24T18: 25: 39.795372 + 00: 00 heroku [маршрутизатор]: at = метод информации = GET
path = "/ static / js / main.3685cd33.js.map "host = #. com
request_id = 03674121-2fac-42ec-9459-e5fa17eb2ea7 fwd =" 93.27.27.184 "dyno = web.1 connect = 0ms service = 7ms status = 404 bytes = 413 protocol = https2018-05-24T18: 25: 41.576623 + 00: 00 heroku [router]: at = info method = GET path = "/ service-worker.js" host = #. Herokuapp.com request_id = 065fb0eb-6606-4603- 8673-75e59445a1ea fwd = "93.27.27.184" dyno = web.1 connect = 0ms service = 1 мс = 404 байта = 400 протокол = https 2018-05-24T18: 25: 41.902150+00: 00 heroku [router]: at = info method = GET path = "/ static / css / main.969d7734.css.map" host = #. Herokuapp.com request_id = a16b6a78-9167-4672-9888-3f141a46c3ef fwd= "93.27.27.18
4" dyno = web.1 connect = служба 0 мс = состояние 1 мс = 404 байта = протокол 415 = https Вот мой App.js:
(...)
alert("word = "+ this.state.word) // **SO FAR, THE VALUE IS STILL DISPLAYED**
fetch("/api/words",{
method:"POST",
headers: {
'Accept': 'application/json, text/plain, */*',
'Content-Type':'application/json'
},
body:JSON.stringify({ // **THEN I LOST THE CONTACT WITH THE VALUES FROM HERE**
"word":this.state.word,
"definition":this.state.definition,
"sound":this.state.audioRecorded
})
})
.then((res) => res.json())
.then((data) => console.log(data))
}
<form>
(...)
</form>
)
}
};
Вот мой server.js:
const {createServer} = require("http");
var express = require("express")
var path = require("path")
var app = express() ;
var port = process.env.PORT || 7500 ;
var databaseName = "ntsat";
var bodyParser = require("body-parser");
app.use(bodyParser.json()) ;
app.use(express.static(path.join(__dirname, '../react-ui/public/index.html')));
var mongoose = require("mongoose");
var url = process.env.MONGOLAB_URI;
mongoose.connect([url to my mlab])
var db = mongoose.connection;
db.on ("error", console.error.bind(console, "connection fails"))
db.once("open", function () {
console.log(`mongoose : connection succeed on ${databaseName} database`);
});
app.use("/api", require("./router/router.js"));
app.listen( port, function(){
console.log("Express server listening on port %d in %s mode", this.address().port,
app.settings.env);
});
module.exports = app;