Ⅰ 什麼是JS跨域訪問
ajax或者iframe指向的地址中,二級域名、埠、協議必須與主頁面完全相同,否則就算跨域
比如
a..com訪問b..com 是跨域;
a..com:8080訪問a..com:80 是跨域;
http://a..com訪問https://a..com 是跨域
ajax跨域,兩種辦法:後端寫個代理介面,讓後端去抓數據;或者與對方合作,用jsonp等方式傳送數據
iframe跨域問題有點多,必須要得到iframe內部頁面的配合才可能通信,方法也比較多:
1,假寫hash值通信,父子頁面各自建立輪詢去檢測iframe中url的hash值,通過值來通信
2,利用HTML5的postMessage,不過注意這個也是非同步的
3,利用IE6\7中對navigator的bug,我前同事發現的,在ie6/7中,父子頁面使用的window.navigator是同一個東西,父頁面改了,子頁面也會跟著變;
4,iframe中嵌套一層與頂層頁面同域的頁面,比如a中套b,b中套c,其中a、c同域,b做出改變後通過url給c傳值,c中操作top對象也就是a,由於同域,所以不會有問題
Ⅱ 什麼是瀏覽器跨域訪問啊,能給個例子嗎
我也遇到過,file = new ActiveXObject("Scritpt 。。。");是 求文件大小的,要設intranet安全級別,最後放棄了,我是把文件傳到後台然後ajax返迴文件大小,就行了,看你的代碼好像也是做ajax方法,用jQuery,或prototype都有方法,new AjaxUpdate(),祝你好運,
Ⅲ 什麼是跨域,Cors協議,spring cors
1、CORS的原理:CORS定義一種跨域訪問的機制,可以讓AJAX實現跨域訪問。CORS 允許一個域上的網路應用向另一個域提交跨域 AJAX 請求。實現此功能非常簡單,只需由伺服器發送一個響應標頭即可。
2、tomcat如何配置cors的跨域請求:
在tomcat中,有一個和cors相關的攔截器:CORS Filter
該過濾器可以通過添加必需的訪問控制請求頭Access-Control-*對象來進行跨域。同時還可以對一些請求進行攔截。如果請求是無效的,或者是不被允許的,該請求被拒絕或者禁止。
Ⅳ 請解釋什麼是跨域.有哪些解決方案,並描述jsonp的原理
跨域是JavaScript出於安全方面的考慮,不允許瀏覽器在當前訪問的域名的頁面中的javascript的調用其他域名頁面中的對象。
跨域請求就是為了解決禁止跨域訪問的問題。
用jsonp的原因是json是javascript中的對象,而跨域訪問中有圖片、css、javascript腳本文件等是不限制,因此你可以在頁面渲染時動態在<script>標簽設置src路徑,而這個路徑返回回來的就是json對象。
Ⅳ 請問跨域訪問是什麼意思啊,謝謝
域(Domain)是Windows網路中獨立運行的單位,域之間相互訪問則需要建立信任關系(即Trust Relation)。信任關系是連接在域與域之間的橋梁。當一個域與其他域建立了信任關系後,2個域之間不但可以按需要相互進行管理,還可以跨網分配文件和列印機等設備資源,使不同的域之間實現網路資源的共享與管理。 有一種簡明的說法來解釋廣域跨域:跨域訪問,簡單來說就是 A 網站的 javascript 代碼試圖訪問 B 網站,包括提交內容和獲取內容。由於安全原因,跨域訪問是被各大瀏覽器所默認禁止的。
Ⅵ 什麼是跨域如何解決跨域問題
什麼是跨域?
跨域,指的是瀏覽器不能執行其他網站的腳本。它是由瀏覽器的同源策略造成的,是瀏覽器對JavaScript施加的安全限制
解決辦法:
1、JSONP:
使用方式就不贅述了,但是要注意JSONP只支持GET請求,不支持POST請求。
2、代理:
例如www.123.com/index.html需要調用www.456.com/server.php,可以寫一個介面www.123.com/server.php,由這個介面在後端去調用www.456.com/server.php並拿到返回值,然後再返回給index.html,這就是一個代理的模式。相當於繞過了瀏覽器端,自然就不存在跨域問題。
3、PHP端修改header(XHR2方式)
在php介面腳本中加入以下兩句即可:
header('Access-Control-Allow-Origin:*');//允許所有來源訪問
header('Access-Control-Allow-Method:POST,GET');//允許訪問的方式
Ⅶ 什麼是跨域,跨域的實現方式有哪些
跨源資源共享
通過 XHR 實現 Ajax 通信的一個主要限制,來源於跨域安全策略。默認情況下,XHR 對象只能訪 問與包含它的頁面位於同一個域中的資源。這種安全策略可以預防某些惡意行為。但是,實現合理的跨 域請求對開發某些瀏覽器應用程序也是至關重要的。
CORS(Cross-Origin Resource Sharing,跨源資源共享)是 W3C 的一個工作草案,定義了在必須訪 問跨源資源時,瀏覽器與伺服器應該如何溝通。CORS 背後的基本思想,就是使用自定義的 HTTP 頭部 讓瀏覽器與伺服器進行溝通,從而決定請求或響應是應該成功,還是應該失敗。
比如一個簡單的使用 GET 或 POST 發送的請求,它沒有自定義的頭部,而主體內容是 text/plain。在 發送該請求時,需要給它附加一個額外的 Origin 頭部,其中包含請求頁面的源信息(協議、域名和端 口),以便伺服器根據這個頭部信息來決定是否給予響應。下面是 Origin 頭部的一個示例:
這個例子通過查詢地理定位服務來顯示你的 IP 地址和位置信息。
JSONP 之所以在開發人員中極為流行,主要原因是它非常簡單易用。與圖像 Ping 相比,它的優點 在於能夠直接訪問響應文本,支持在瀏覽器與伺服器之間雙向通信。不過,JSONP 也有兩點不足。
首先,JSONP 是從其他域中載入代碼執行。如果其他域不安全,很可能會在響應中夾帶一些惡意代碼,而此時除了完全放棄 JSONP 調用之外,沒有辦法追究。因此在使用不是你自己運維的 Web 服務時, 一定得保證它安全可靠。
其次,要確定 JSONP 請求是否失敗並不容易。雖然 HTML5 給<script>元素新增了一個 onerror 事件處理程序,但目前還沒有得到任何瀏覽器支持。為此,開發人員不得不使用計時器檢測指定時間內是否接收到了響應。但就算這樣也不能盡如人意,畢竟不是每個用戶上網的速度和帶寬都一樣。
參考:javascript高級程序設計第21章
Ⅷ 什麼叫做跨域訪問,求大神解答
如果在A網站中,我們希望使用Ajax來獲得B網站中的特定內容
如果A網站與B網站不在同一個域中,那麼就出現了跨域訪問問題
Ajax的跨域訪問問題是現有的Ajax開發人員比較常遇到的問題
一般都會用jsoncallback方法來解決
你可以理解為兩個域名之間不能跨過域名來發送請求或者請求數據,否則就是不安全的
希望能幫助到你
Ⅸ 為什麼要跨域以及跨域的作用是什麼
你在做本地開發的時候,你的文件夾下的文件不是在一個域下面的,當你一個文件需要發送ajax請求,請求另外一個頁面的內容的時候,就會跨域。不是為什麼要跨域,而是你如果不搭伺服器,又想要ajax請求的話是不得不跨越。。跨域的作用就是讓你能訪問不是一個域的文件。
Ⅹ 什麼叫ajax跨域訪問
AJAX 跨域訪問是用戶訪問A網站時所產生的對B網站的跨域訪問請求均提交到A網站的指定頁面。
Ajax請求一個目標地址為非本域(協議、域名、埠任意一個不同)的web資源,並根據響應獲得外部應用數據。比如我們用Ajax訪問城市天氣預報、IP地址等公共服務介面時,就涉及跨域了。我們請求一個外部服務時,瀏覽器會基於安全問題拒絕授權訪問。
(10)什麼是跨域訪問擴展閱讀
Ajax的優點
使用Ajax的最大優點,就是能在不更新整個頁面的前提下維護數據。這使得Web應用程序更為迅捷地回應用戶動作,並避免了在網路上發送那些沒有改變的信息。
Ajax不需要任何瀏覽器插件,但需要用戶允許JavaScript在瀏覽器上執行。就像DHTML應用程序那樣,Ajax應用程序必須在眾多不同的瀏覽器和平台上經過嚴格的測試。隨著Ajax的成熟,一些簡化Ajax使用方法的程序庫也相繼問世。同樣,也出現了另一種輔助程序設計的技術,為那些不支持JavaScript的用戶提供替代功能。