nginx 解決AJAX 跨域問題。

来源:http://www.cnblogs.com/rfyuanwei/archive/2017/09/04/7472625.html
-Advertisement-
Play Games

AJAX跨域的問題很常見,有較多的解決辦法如:jsonp,設置服務端允許跨域,給請求加代理等等解決方式,我項目中常用node.js搭建中間代理的方式解決。下麵我將嘗試採用nginx做代理的方式解決跨域的問題。第一步:搭建Server API,其中未設置允許跨域。get方法,返回英雄列表。(http:... ...


AJAX跨域的問題很常見,有較多的解決辦法如:jsonp,設置服務端允許跨域,給請求加代理等等解決方式,我項目中常用node.js搭建中間代理的方式解決。下麵我將嘗試採用nginx做代理的方式解決跨域的問題。

第一步:搭建Server API,其中未設置允許跨域。get方法,返回英雄列表。(http://localhost:8081/heroes

image

第二步:寫頁面測試ajax請求(http://localhost:8081/heroes),結果顯示跨域了。

image

image

順便說一下:如果要修改服務端只需要設置如下:

imageimage

第三步:修改nginx配置文件

image

配置代碼:

        location = /heroes {
             add_header 'Access-Control-Allow-Origin' '*';
             add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
             add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range';
             add_header 'Access-Control-Expose-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range';
                proxy_pass http://localhost:8081;
         }

第四步:測試ajax請求,這次將第二步中的8081改成80,讓ajax的請求被ngnix代理,能獲得結果。

image

image

image








您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 概念 執行環境 執行環境定義了變數或函數有權訪問的其他函數,決定了他們各自的行為。每個執行環境都有一個與之關聯的變數對象。 變數對象 環境中定義的所有變數和函數都保存在這個對象中。 全局執行環境 全局執行環境是最外圍的一個執行環境。在web瀏覽器中,全局執行環境被認為是Window對象,因此所有全局 ...
  • webkit內核瀏覽器DIV滾動條樣式修改和設置 引言: 最近在做自己的小項目,為了設計出好看的頁面費勁了心思,大到頁面的整體佈局,小到DIV的滾動條都不放過,以下是我通過查閱資料總結的webkit內核瀏覽器滾動條樣式的修改方法。 原理: webkit瀏覽器css設置滾動條主要有下麵7個屬性 1. ...
  • 1. 什麼是JavaScript JavaScript是一門廣泛用於瀏覽器客戶端的腳本語言 由Netspace公司設計,當時跟Sun公司合作,所以名字起得像Java 業內一般簡稱JS 2. JS的常見用途 1》能進行HTML的DOM操作,也稱節點(標簽元素)操作。 比如添加、修改、刪除節點,JS可以 ...
  • 源碼 https://github.com/2016Messi/Gorgeous clock 效果展示 https://2016messi.github.io/Gorgeous clock/ 如果各位博友覺得效果不錯,歡迎star ...
  • 用純js畫一棵樹。思路: 1、一棵樹的圖片,作為頁面背景; 2、通過html5中的canvas畫布進行遮罩; 3、定時每隔10ms,從下往上清除1px的遮罩; 畫的過程如下: ...
  • 數組常用方法總結: 下麵我只總結了es3中常用的數組方法,一共有11個。es5中新增的9個數組方法,後續再單獨總結。 1個連接數組的方法:concat() 2個數組轉換為字元串的方法:join()、toString() 6個增刪數組元素的方法:pop()、push()、shift()、unshift ...
  • 一、增加 1.push() 語法:arrayObject.push(newele1,newele2,…,neweleX); 功能:將push中的參數添加到arrayObject的尾部 返回值:把指定的值添加到數組後的新長度 例: var arr = [8,7,5,2,8,4,3]; var arrL ...
  • 裡面封裝了很多組件、字體圖標、和標簽常用的一些樣式。我們直接使用即可。 下載地址: http://www.bootcss.com/ 包下載地址(用於生產環境的 Bootstrap):https://github.com/twbs/bootstrap/releases/download/v3.3.7/ ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...