2016-05-12 4 views
0

Ich versuche, Jsonp von meinem ausdrücklichen, Nodejs Anwendung zurückzukehren, und ich bekomme Text/Javascript anstelle von Anwendung/Javascript (was meiner Meinung nach der richtige Content-Type sein sollte). Ich bin nicht über IE < 8. Die verschiedenen Möglichkeiten, die Mühe gemacht, die ich versucht habe, den Content-Type zu setzen, wenn das Ergebnis der Rückkehr ist unten dargestellt:Knoten, Express-App gibt Text/Javascript Response-Header (Content-Type) trotz der Einstellung Anwendung/Javascript

// Method 1 
res.setHeader('Content-Type', 'application/javascript'); 
res.status(200).jsonp(result); 

// Method 2 
res.format({ 
    'application/javascript': function() { 
     res.status(200).jsonp(result); 
    } 
}); 

// Method 3 
res.set('Content-Type', 'application/javascript'); 
res.status(200).jsonp(result); 

Aber egal was passiert, die Content-Type, die ich erhalte, ist Immer Text/Javascript wie unten gezeigt. Ich bekomme auch 'nosniff' Header zweimal in den Antwortheadern: -/Ich habe es nur einmal in meiner nginx.conf-Datei, die ich gründlich überprüft habe. Habe sogar ein nginx -t und es sagt, Config ist in Ordnung.

HTTP/1.1 200 OK 
Server: nginx 
Date: Thu, 12 May 2016 05:06:28 GMT 
Content-Type: text/javascript; charset=utf-8 
Content-Length: 433 
Connection: keep-alive 
Keep-Alive: timeout=5 
X-Powered-By: Express 
Vary: Accept 
X-Content-Type-Options: nosniff 
ETag: W/"1b1-1ZnUnapTaayP/+6QW4iqXQ" 
Expires: Thu, 31 Dec 2037 23:55:55 GMT 
Cache-Control: max-age=315360000 
Strict-Transport-Security: max-age=315360000; includeSubdomains 
X-Content-Type-Options: nosniff 
X-Frame-Options: SAMEORIGIN 
X-XSS-Protection: 1; mode=block 
X-Robots-Tag: none 

Ich benutze Nginx als Reverse-Proxy mit dem 'upstream dingy'. Ich benutze auch BodyParser in meiner Anwendung. Bitte lassen Sie mich wissen, wenn weitere Informationen benötigt werden, da ich absolut neu bei Node/Express bin. Danke

Antwort

0

Ich fürchte, dass der Inhaltstyp in Express fest codiert ist. Siehe here.

Der einzige Ausweg ist, dass Sie .jsonp() selbst implementieren (oder ein Problem auf GitHub für die Express-Entwickler erstellen, um es zu beheben).

+0

Vielen Dank. Das scheint es zu sein :) –

Verwandte Themen