跨域問題主要在header上下功夫
首先提供一個w3c的header定義 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
再提供一個網(wǎng)友提供的header詳解 http://kb.cnblogs.com/page/92320/
這兩個有助于幫助大家理解header的類型和作用返顺,
但是遺憾的是跨域相關(guān)的兩個header屬性我都沒有找到相關(guān)的定義毒租,
下面直接告訴大家
1是Access-Control-Allow-Origin 允許的域
2是Access-Control-Allow-Headers 允許的header類型
第一項可以直接設(shè)為* 表示任意
但是第二項不能這樣寫薄辅,在chrome中測試跨域發(fā)現(xiàn)報錯滤否,
最終的代碼看起來是這個樣子:
app.all('*', function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Content-Type,Content-Length, Authorization, Accept,X-Requested-With");
res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
res.header("X-Powered-By",' 3.2.1')
if(req.method=="OPTIONS") res.send(200);/*讓options請求快速返回*/
else next();
});