跨域
什麼是跨域
就是瀏覽器不能執行其他**的指令碼,他是由瀏覽器的同源策略造成,是瀏覽器施加的安全限制
同源是指 網域名稱 協議 埠 均相同
跨域的解決方法 jsonp
用利用script標籤 在裡面進行ajax請求
在script標籤中 指定請求的型別 datatype = 『jsonp』
這種方式只能支援 get方式進行請求
使用nginx 解決跨域
反向**伺服器
本地頁面發起ajax請求 先**到nginx nginx在**給後台伺服器 後台伺服器返回資料給nginx nginx在返回給頁面的技術 就是反向**
在nginx.conf檔案進行配置
配置如下
server
location /apis
上面的這些配置的相關解釋
讓nginx 京聽localhost的80埠 **a 與**b訪問都是通過80埠 進行訪問
我們另外特殊的配置了乙個'/api'目錄的訪問,並且對url進行了重寫 使/api的請求 都跳轉到 http://localhost: 82 這個位址
rewrite ^/api/(.*)$ /$1 break;
代表重寫攔截進來的請求,並且只能對網域名稱後邊以「/api」開頭的起作用
/ 的請求 **到 http://localhost:81這個位址 進行處理
既然配置了nginx進行跨域的請求 那麼 請求的位址就需寫一些變化
ajax請求的位址 寫成 /api 開頭進行傳送請求
這個的基礎 是監聽node伺服器的執行埠 3000
一旦有發現請求就通過nginx做相應的處理
node和nginx
node主要做一些業務的邏輯 nginx主要做一些ajax的跨域請求 處理一些靜態頁面 當需要請求後台資源時候 通過nginx進行** 請求到資料在**給前台頁面
node主要處理併發的功能上 比如聊天系統 部落格這一類的
也可以在nodejs中介軟體**跨域
#####使用cors跨域資源共享
cors支援所有請求
只需要在後台加上響應頭允許域的請求 在悲情的response header 加入以下配置
//指定允許其他網域名稱訪問
'access-control-allow-origin:*'//或指定域
//響應型別
'access-control-allow-methods:get,post'
//響應頭設定
'access-control-allow-headers:x-requested-with,content-type'
nginx解決跨域
ajax跨域一直困擾我很久,今天終於解決了,並且不需要伺服器端配合。大概思路是 1,在本地電腦配置乙個nginx伺服器 2,把專案放在nginx伺服器下 3,配置nginx 遇到ajax請求,讓 伺服器去請求,然後把結果返回給本地伺服器 location location api 下面截圖裡的api...
nginx解決跨域
一 被呼叫伺服器nginx 1 配置nginx預設 conf 2 配置 conf 告訴瀏覽器允許跨域訪問的方法 add header access control allow methods 告訴瀏覽器快取options預檢請求1小時 add header access control max ag...
nginx解決跨域問題!
1 問題背景 前端呼叫線上後段時出現跨域問題!解決方法nginx的location頭部增加配置 add header access control allow headers add header access control allow methods get,post,options,head,...