Ich versuche, eine JSON-Daten, die eine Reihe von Schlüssel und Werte von JavaScript zu Express.JS enthält. Ich habe die Kors Verwendung hinzugefügt, wie von anderen Post vorgeschlagen, und auch res.header("Access-Control-Allow-Origin", "*");
.
Als ich die POST-Anfrage von der Chrome Postman App getestet habe, funktionierte es einwandfrei. Aber wenn ich die Anfrage durch einen lokalen Test Web-Seite über Chrome-Browser gesendet wird, die Konsole ausgibt
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-Anfrage "Herkunft Null ist nicht zulässig" Fehler
Mein Code für Express.js:
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);
Bitte fühlen Sie sich frei, jede Verbesserung vorzuschlagen.
Hallo Lucky Soni, danke für die Antwort. Ich habe versucht, von http: // localhost: 8080/webpage.html auf die Webseite zuzugreifen, der Server gibt eine leere Seite zurück mit dem Fehler "Kann nicht /webpage.html". Irgendeine Idee, wie man das repariert? Dank –
stellen Sie sicher, dass Sie Ihren Server auf Port 8080 ausführen und dass Sie einen Route-Handler für "webpage.html" haben (wenn Sie so etwas wie node.js für HTML verwenden). Wenn Sie so etwas wie PHP verwenden, um die Seite zu serversichern, stellen Sie sicher, dass im Stamm des Projektordners eine Datei mit dem Namen "webpage.html" vorhanden ist. –
Vielen Dank Kumpel. Problem gelöst :) –