跨域

cross-domain

node.js 的跨域解決方案node

1.經過在node代碼中加入如下代碼:(express框架)

app.all('*', function(req, res, next) {  
   res.header("Access-Control-Allow-Origin", "*");  
   res.header("Access-Control-Allow-Headers", "X-Requested-With");  
   res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");  
   res.header("X-Powered-By",' 3.2.1')  
   res.header("Content-Type", "application/json;charset=utf-8");  
   next();  
});

2.在chrome瀏覽器中經過如下方式解決

  • 49以前的版本 在屬性頁面中的目標輸入框里加上 --disable-web-security 以下圖所示

clipboard.png

點擊應用和肯定後關閉屬性頁面,並打開chrome瀏覽器。若是瀏覽器出現提示「你使用的是不受支持的命令標記 --disable-web-security」,那麼說明配置成功。web

  • 49以後的版本

chrome的版本升到49以後,跨域設置比之前嚴格了,在打開命令上加--disable-web-security以後還須要給出新的用戶我的信息的目錄。衆所周知chrome是須要用gmail地址登陸的瀏覽器,登陸後就會生成一個存儲我的信息的目錄,保存用戶的收藏、歷史記錄等我的信息。49版本以後,若是設置chrome瀏覽器爲支持跨域模式,須要指定出一個我的信息目錄,而不能使用默認的目錄,估計是chrome瀏覽器怕用戶勿使用跨域模式泄露本身的我的信息(主要是cookie,不少網站的登陸token信息都是保存在cookie裏)。chrome

具體作法爲:express

1)在電腦上新建一個目錄,例如:C:MyChromeDevUserDatajson

clipboard.png

2)在屬性頁面中的目標輸入框里加上   --disable-web-security --user-data-dir=C:MyChromeDevUserData,其中--user-data-dir的值就是剛纔新建的目錄。
clipboard.png跨域

3)點擊應用和肯定後關閉屬性頁面,並打開chrome瀏覽器。瀏覽器

再次打開chrome,發現有「--disable-web-security」相關的提示,說明chrome又能正常跨域工做了。cookie

clipboard.png

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息