2016-05-12 2 views
0

Я пытаюсь вернуть jsonp из моего экспресс-приложения nodejs, и я продолжаю получать текст/javascript вместо application/javascript (который, я думаю, должен быть правильным Content-Type). Я не беспокоился IE < 8. Различные способы, которыми я пытался установить тип содержимого при возврате результата не будет показано ниже:node, express app возвращает текст/заголовок ответа javascript (Content-Type), несмотря на установку приложения/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); 

Но независимо от того, на что, Content-Type, что я получаю всегда text/javascript, как показано ниже. Я также дважды добавляю заголовок «nosniff» в заголовках ответов: -/У меня есть только один раз в файле nginx.conf, который я тщательно проверил. Даже сделал nginx -t, и он говорит, что конфигурация в порядке.

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 

Я использую nginx в качестве обратного прокси-сервера, используя «вверх по течению». Я также использую bodyParser в своем приложении. Пожалуйста, дайте мне знать, нужна ли какая-либо дополнительная информация, поскольку я абсолютно не знаком с node/express. Спасибо

ответ

0

Я боюсь, что тип содержимого жестко закодирован в Express. См. here.

По внешнему виду, единственный способ обойти это - выполнить повторное внедрение .jsonp() (или создать проблему с GitHub для разработчиков Express, чтобы исправить ее).

+0

спасибо. Кажется, это так :) –