JavaScriptからExpress.JSへのキーと値のセットを含むjsonデータを投稿しようとしています。私は他の郵便で示唆されているようにコルスの使用を追加しました。またres.header("Access-Control-Allow-Origin", "*");
も追加しました。
Chrome PostmanアプリからのPOSTリクエストをテストしたところ、正常に機能しました。しかし、私はExpress.JSのための私のコードは、コンソール出力
XMLHttpRequest cannot load http://localhost:8080/submit_project_request. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. The response had HTTP status code 400.
Express.js post request "Origin nullが許可されていません"エラー
、Chromeブラウザを介してローカルテストWebページを介して要求を送信したとき:
var http = require("http");
var express = require("express");
var xmlbuilder = require("xmlbuilder");
var bodyParser = require("body-parser");
var cors = require("cors");
var app = express();
app.use(cors());
var port = process.env.PORT || 8080;
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
app.use(function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
app.get('/submit_project_request', function (req, res) {
var client_org = req.parm("client_org");
});
app.post('/submit_project_request', function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
next();
console.log(req.body.client_org);
res.contentType("text");
res.send("data received");
});
app.listen(8080);
任意の改善を提案すること自由に感じなさい。
こんにちはラッキーソン、返事ありがとうございます。私はhttp:// localhost:8080/webpage.htmlからWebページにアクセスしようとしましたが、サーバは "can not GET /webpage.html"というエラーの空白のページを返します。どのようにこれを修正するための任意のアイデア?ありがとう –
あなたがあなたのサーバーをポート8080で実行していることと、 'webpage.html'のルートハンドラがあることを確認してください(HTMLの提供にnode.jsのようなものを使用している場合)。ページをサーバーにPHPのようなものを使用している場合は、プロジェクトフォルダのルートに「webpage.html」という名前のファイルがあることを確認してください。 –
ありがとうございます。問題が解決しました :) –