跨域總結-JSONP和XHR2

来源:http://www.cnblogs.com/taoxiaodan/archive/2016/12/17/6189392.html
-Advertisement-
Play Games

一、jsonp方式 1.伺服器搭建: 文件jsonpcli.js:作為客戶端伺服器 jsonp.html:請求頁 文件jsonpser.js:作為服務端伺服器 process_get:響應頁 運行這兩個文件,客戶端埠為8082,服務端埠為8081,跨域。 2.跨域請求 文件jsonp.html( ...


一、jsonp方式

1.伺服器搭建:

文件jsonpcli.js:作為客戶端伺服器   jsonp.html:請求頁

文件jsonpser.js:作為服務端伺服器  process_get:響應頁

運行這兩個文件,客戶端埠為8082,服務端埠為8081,跨域。

2.跨域請求

文件jsonp.html(三種方式任選一個)jsonp.html向process_get發出請求

3.測試

在瀏覽器中輸入網址:http://127.0.0.1:8082/jsonp.html

如圖,請求成功!

 

二、XHR2方式

依然上述三個文件,做部分修改,下圖所示。

1.修改

請求頁ajax不用jsonp方式,響應頁頭信息中加了欄位"Access-Control-Allow-Origin"

2.測試

在瀏覽器中輸入網址:http://127.0.0.1:8082/jsonp.html

如圖,請求成功!

 





 

下麵是瀏覽器中查看請求和回應的詳細信息,不用看了~

三、JSONP詳細信息

jsonp.html

process_get

(方式一)

(方式二)

(方式三)

四、XHR2詳細信息

jsonp.html

 process_get

1.⊙o⊙發現這次跨域ajax請求是簡單請求

2.自動在請求頭中添加一個Origin欄位

3.伺服器根據Origin值,決定是否同意這次請求

4.(∩_∩)同意,響應頭裡添加一個access-control-allow-origin欄位,響應。(╯^╰)不同意,不加該欄位,拋錯,被error函數捕獲。

 番外:關於CORS是簡單請求還是非簡單請求,關於XHR2頭信息的其他欄位,過幾天在再寫。


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

-Advertisement-
Play Games
更多相關文章
  • 1.map 2.remove 移除數組 array 中滿足 predicate 條件的所有元素 ,返回的是被移除元素數組. 3.uniq 唯一 ...
  • 1.find 2.findIndex _.findIndex(array, [predicate=_.identity], [thisArg])該方法類似 _.find,區別是該方法返回的是符合 predicate條件的第一個元素的索引,而不是返回元素本身. 參數 predicate 提供的是一個屬 ...
  • scroll事件實現監控滾動條並分頁顯示示例(zepto.js ) 需求:在APP落地頁上的底部位置顯示此前其他用戶的購買記錄,要求此div盒子只顯示3條半,但一頁有10條,div內的滑動條滑到一頁底部自動載入下一頁併發載入埋點。 實現:首先理解三個概念,分別是contentH,viewH,scro ...
  • 本篇文章是講解了一個demo實例,就是怎樣獲取類的結構,以及應該註意的事項,若有什麼建議或意見歡迎前來打擾。 ...
  • 除了可以為元素添加樣式外,還可用來查詢元素,某樣式值alert($('.cls1').css('width')); //100px(返回帶單位的值)註意:原生CSS樣式中有-的去掉並且將後面的單詞第一個字母大寫 alert($('.box').width( )); alert($('.box').h ...
  • 直接進入主題! 一、脫離文檔流元素的居中 方法一:margin:auto法 CSS代碼: HTML代碼: 效果圖: 當一個元素絕對定位時,它會根據第一個不是static定位的祖先元素定位,因此這裡的img根據外層div定位。 方法二:負margin法 CSS代碼: HTML代碼: 效果圖: 這裡,我 ...
  • 序:前段時間公司一次研討會上,一市場部同事展現了同行業其他公司的3D機房,我司領導覺得這個可以研究研究,為了節約成本,我們在網上大量檢索,最後找到一位前輩的博文【TWaver的技術博客】,在那篇博文的評論區終於找到了那位前輩的源碼,可惜下載後發現是壓縮過的.min.js文件。經過各種研究發現,那是人 ...
  • 一、pic1.html頁面代碼如下:二、模擬資料庫數據的實體類Photoes.cs代碼如下:三、伺服器返回數據給客戶端的一般處理程式Handler1.ashx代碼如下:總結:前段時間學習了瀑布流佈局與圖片載入等知識,做了一個簡單的示例,希望能鞏固一下自己所學的知識。不斷總結,不斷鞏固,不斷提升。。。 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...