Node.js+express搭建api後的跨域問題

前言

在我建站過程當中,api的已經搭建完成之後,調用的時候發生的跨域的問題。前端

對於前端來講跨域並不陌生,既然咱們本身手動搭建後端服務,那咱們就從後端來解決跨域問題。express

header

後端來解決跨域問題主要在header上下功夫。後端

這篇文章解釋的很到位 HTTP Header 詳解 。有興趣能夠本身去看看。api

解決跨域

  1. Access-Control-Allow-Origin 容許的域
  2. Access-Control-Allow-Headers 容許的header類型

上面兩個header就能夠解決跨域問題了。跨域

第一項能夠直接設爲 * 表示任意。app

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();
    });
複製代碼

上面的代碼放在定義 express 後面就能夠完美解決跨域問題了。spa

相關文章
相關標籤/搜索