2017-08-18 1 views
0

Beim Aufruf API https://mywebsite.com/api/register über Browser und es gibt korrekte Antwort vom Server als { "error": false, "message": "Hello World" } Wenn wir die gleiche Anfrage von Postman dann kommt es mit einigen HTML-Inhalt zurück als Bitte aktivieren Sie JavaScript, um den Seiteninhalt anzuzeigen. Unten finden Knotenseite Code:Node api Preflight in Postbote

var express = require("express"); 

var app = express(); 

var bodyParser = require("body-parser"); 

var router = express.Router(); 

var fs = require('fs'); 
var https = require('https'); 

var cors = require('cors'); 

app.use(cors()); 

app.use(bodyParser.json({limit: '50mb'})); 

app.use(bodyParser.urlencoded({ limit: '50mb', "extended": false })); 

var privateKey = fs.readFileSync('key.pem'); 
var certificate = fs.readFileSync('cert.pem'); 
var passphrase = 'testphrase'; 
var credentials = {key: privateKey, cert: certificate, passphrase:passphrase}; 

router.get("/", function (req, res) { 

    res.json({ "error": false, "message": "Hello World" }); 

}); 
app.use('/api', router); 
var server = https.createServer(credentials, app).listen(8080); 

Die api über den Browser funktioniert, aber nicht mit Postbote. Was werden die möglichen Fehler sein? Bitte helfen. Vielen Dank!

+0

Ich sehe nicht, wie Sie eine HTTPS-URL 'https: // mywebsite.com/api/register' mit diesem Server-Code verwenden könnten, die einen' https'-Server NICHT startet. Es startet einen "http" -Server. Was falsch ist? Ihr Code in Ihrer Frage oder die URL in Ihrer Anfrage? – jfriend00

+0

https URL ist korrekt. Code in der Frage bearbeitet und die https-Konfiguration hinzugefügt. – avinash

+0

Geben Sie in beiden Fällen den Port 8080 in der URL an? – jfriend00

Antwort

0

Problem ist jetzt behoben. Das Problem ist mit der Firewall und dem Proxy.

0

Sie verfehlten API für Server

const api = require('./{your api path}/api'); 
// Set our api routes 
app.use('/api', api); 
0

zu definieren Wenn das Lauf in Brower, die es bedeutet, erhalten Anfrage und Sie werden vom Knoten-Server bekommen json. Setzen Sie den Header im Postboten

überprüfen Sie, welche Header-Typ Verwendung verwenden. Verwenden Sie diese sein können Sie application/js verwenden, benutzen Sie application/json

enter image description here

Sie können auch überprüfen, was Sie Anforderung von Browser sendet durch die Anfrage-Abfrage prüfen + Shift + i und dann in Netzwerk. Und dann drücken Sie die Anfrage, jetzt überprüfen Sie Netzwerk was Header-Typ und die Anfrage ist. Du wirst wissen, was du falsch machst.

+0

Danke Himanshu für die Antwort. Ich habe das versucht, indem ich Kopfzeilen im Postboten hinzufügte, die durch den Browser senden. Aber funktioniert immer noch nicht. – avinash