首先,什么是跨域?
瀏覽器從一個域名的網頁去請求另一個域名的資源時,域名、端口、協議任一不同,都是跨域;
那么,如何解決跨域呢?
1、采用jsonp方法解決跨域,
2、在服務器端利用nodejs設置頭文件header來解決跨域,實例代碼如下:
const http = require(“http”); http.createServer((req,res)=>{ //設置返回格式 JSON, 解決跨域問題 // res.setHeader('Content-type', 'application/json'); res.setHeader("Access-Control-Allow-Origin", "*"); res.setHeader("Access-Control-Allow-Headers", "Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild"); res.setHeader("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS"); res.setHeader("X-Powered-By","3.2.1"); res.setHeader("Content-Type", "application/json;charset=utf-8"); //自己的邏輯代碼 })
請注意上文中強調的setHeader,現在網上有不少博客都直接寫成了header方法(原生node沒有這個方法),這是錯誤的(親測),目前Nodejs中res沒有header()這個方法,雖然是一個很小的點,但可能在誤導很多初學者。
同時,請注意頭文件的第二行,這樣設置會更全面些;
原文鏈接:https://blog.csdn.net/libospinach/article/details/85935341