私はノードアプリケーションでポストリクエストを作成しようとしています。しかし、私は次のエラーが発生しています。Nodejsポストリクエストでnet :: ERR_EMPTY_RESPONSEを受け取る
OPTIONS http://localhost:27017/postDebate net::ERR_EMPTY_RESPONSE
解決方法ここで
は私のルートである:
var express = require('express');
var router = express.Router();
var Debate = require('../models/debate');
var mdb = require('mongodb').MongoClient,
ObjectId = require('mongodb').ObjectID,
assert = require('assert');
var api_version = '1';
var url = 'mongodb://localhost:27017/debate';
router.post('/'+api_version+'/postDebate', function(req, res, next) {
var debate = new Debate(req.body);
console.log(debate, "here is the debate");
debate.save(function(err) {
if (err) throw err;
console.log('Debate saved successfully!');
});
res.json(debate);
});
module.exports = router;
そして私はonclickの私のEJSファイル内の関数を呼び出した後、このルートを呼び出しておりますので、ここに私のjavascriptのファイルです。
function postDebate() {
var topic = document.getElementById('topic').value;
var tags = document.getElementById('tags').value;
var argument = document.getElementById('argument').value;
var debateObject = {
"topic": topic,
"tags": tags,
"argument": argument
};
console.log(topic, tags, argument);
$.ajax({
type: 'POST',
data: JSON.stringify(debateObject),
contentType: "application/json",
//contentType: "application/x-www-form-urlencoded",
dataType:'json',
url: 'http://localhost:27017/post',
success: function(data) {
console.log(JSON.stringify(data), "This is the debateObject");
},
error: function(error) {
console.log(error);
}
});
}
このエラーを解決するにはどうすればよいですか?ここでの問題は何ですか? OPTIONSのあなたはapp
レベルでCORSヘッダを追加する必要があり、(res.endを実行する必要があります
OPTIONS http://localhost:27017/postDebate net::ERR_EMPTY_RESPONSE
これを解決できましたか?この問題が発生してから2週間が経過しています。私が試したことはすべて動作していません...ありがとうございます! – Valip