第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

允許對Heroku上的Express / Node.js應(yīng)用程序進(jìn)行CORS REST請求

允許對Heroku上的Express / Node.js應(yīng)用程序進(jìn)行CORS REST請求

慕森王 2019-11-26 11:25:14
我已經(jīng)在用于node.js的快速框架上編寫了REST API,該API可以處理來自Chrome中的js控制臺和URL欄等的請求?,F(xiàn)在,我試圖使其適用于來自另一個應(yīng)用程序的請求域(CORS)。由javascript前端自動發(fā)出的第一個請求是對/ api / search?uri =的請求,并且似乎在“預(yù)檢” OPTIONS請求中失敗。在我的快速應(yīng)用中,我使用以下方法添加了CORS標(biāo)頭:var allowCrossDomain = function(req, res, next) {    res.header('Access-Control-Allow-Origin', '*');    res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');    res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With');    // intercept OPTIONS method    if ('OPTIONS' == req.method) {      res.send(200);    }    else {      next();    }};和:app.configure(function () {  app.use(express.bodyParser());  app.use(express.methodOverride());  app.use(app.router);  app.use(allowCrossDomain);  app.use(express.static(path.join(application_root, "public")));  app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));});從Chrome控制臺中,我得到了以下標(biāo)題:請求網(wǎng)址:http://furious-night-5419.herokuapp.com/api/search?uri = http%3A%2F%2Flocalhost%3A5000%2Fcollections%2F1%2Fdocuments%2F1請求方法:OPTIONS狀態(tài)碼:200 OK請求標(biāo)題Accept:*/*Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3Accept-Encoding:gzip,deflate,sdchAccept-Language:en-US,en;q=0.8Access-Control-Request-Headers:origin, x-annotator-auth-token, acceptAccess-Control-Request-Method:GETConnection:keep-aliveHost:furious-night-5419.herokuapp.comOrigin:http://localhost:5000Referer:http://localhost:5000/collections/1/documents/1User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5查詢字符串參數(shù)uri:http://localhost:5000/collections/1/documents/1響應(yīng)標(biāo)題Allow:GETConnection:keep-aliveContent-Length:3Content-Type:text/html; charset=utf-8X-Powered-By:Express這看起來像API應(yīng)用程序發(fā)送的標(biāo)題不正確嗎?謝謝。
查看完整描述

3 回答

?
拉風(fēng)的咖菲貓

TA貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個贊

我已經(jīng)在干凈的ExpressJS應(yīng)用上檢查了您的代碼,它正常工作。

嘗試將您app.use(allowCrossDomain)移至配置功能的頂部。


查看完整回答
反對 回復(fù) 2019-11-26
?
泛舟湖上清波郎朗

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超3個贊

為了支持帶有憑據(jù)的Cookie,您需要此行 xhr.withCredentials = true;


mdn docs xhr.withCredentials


在Express Server中,在所有其他塊之前添加此塊


`app.all('*', function(req, res, next) {

     var origin = req.get('origin'); 

     res.header('Access-Control-Allow-Origin', origin);

     res.header("Access-Control-Allow-Headers", "X-Requested-With");

     res.header('Access-Control-Allow-Headers', 'Content-Type');

     next();

});`


查看完整回答
反對 回復(fù) 2019-11-26
?
海綿寶寶撒

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個贊

對于大多數(shù)瀏覽此問題的人來說,情況可能并非如此,但我也遇到了同樣的問題,解決方案與無關(guān)CORS。


事實(shí)證明,string在環(huán)境變量中未定義JSON Web令牌機(jī)密,因此無法對令牌進(jìn)行簽名。這會導(dǎo)致任何POST依賴于檢查或簽名令牌以獲取超時并返回503錯誤的請求,從而告訴瀏覽器出了點(diǎn)問題CORS,事實(shí)并非如此。在Heroku中添加環(huán)境變量解決了該問題。


我希望這可以幫助別人。


查看完整回答
反對 回復(fù) 2019-11-26
  • 3 回答
  • 0 關(guān)注
  • 681 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號