最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

AJAX的跨域問題解決方案

 更新時間:2022年12月28日 15:10:39   作者:假正經(jīng)的小柴  
跨域簡單的說,就是從一個域名的網(wǎng)頁去訪問另一個域名網(wǎng)頁的資源,下面這篇文章主要給大家介紹了關于AJAX的跨域問題解決的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

跨域的概述

  1. 跨域是指從一個域名的網(wǎng)頁去請求另一個域名的資源。比如從百度(https://baidu.com)頁面去請求京東(https://www.jd.com)的資源。
  2. 通過超鏈接、form表單提交、window.location.href、document.location.href、script標簽、img標簽等方式進行跨域是不存在問題的。但在一個域名的網(wǎng)頁中的一段js代碼發(fā)送AJAX請求去訪問另一個域名中的資源,由于同源策略的存在導致無法跨域訪問,AJAX就存在這種跨域問題。
  3. 同源策略是指一段腳本只能讀取來自同一來源的窗口和文檔的屬性,同源就是協(xié)議、域名和端口都相同。

下面是使用AJAX發(fā)送請求跨域訪問資源出現(xiàn)的問題:請求的資源上不存在“訪問控制允許源”標頭:(就是被同源策略阻止了)

區(qū)別同源與不同源

區(qū)分同源和不同源的三要素:

協(xié)議域名端口

協(xié)議一致,域名一致,端口號一致,三要素都要一致,才是同源,其它一律都是不同源。

同源策略有什么用?

如果你剛剛在網(wǎng)銀輸入賬號密碼,查看了自己還有一萬 元塊錢,緊接著訪問一些不規(guī)矩的網(wǎng)站,這個網(wǎng)站可以訪問剛剛的網(wǎng)銀站點,并且獲取賬號密碼,那后果可想而知。所以,從安全的角度來講,同源策略是有利于保護網(wǎng)站信息的。

AJAX跨域解決方案

有一些情況下,我們是需要使用AJAX進行跨域訪問的。比如某公司的A頁面a.aresourse.com)有可能需要獲取B頁面b.bresourse.com)。

方案一、設置響應頭

核心原理:跨域訪問的資源允許你跨域訪問。(被調(diào)用方允許你可跨域訪問)

實現(xiàn):

response.setHeader("Access-Control-Allow-Origin","http://localhost:8080/ajax/ajax7.html");//允許某個
response.setHeader("Access-Control-Allow-Origin","*");//允許所有

方案二、jsonp

jsonp:json with padding

  • jsonp不是一個真正的AJAX請求。只不過可以完成AJAX的局部刷新效果。可以說jsonp是一種類AJAX請求的機制。

jsonp可以解決跨域問題。
注意:jsonp解決跨域的時候,只支持GET請求。不支持post請求。這是因為jsonp本就是動態(tài)的創(chuàng)建script標簽從而達到跨域的效果。

下面是動態(tài)創(chuàng)建的代碼:

效果展示:

jQuery封裝了jsonp,也就是說可以使用jQuery庫去進行編寫jsonp代碼,方便。

核心代碼如下:

$.ajax({
	type:"GET",
	url:"跨域的url",
	dataType:"jsonp",   //指定數(shù)據(jù)類型
	jsonp:"fun",    //指定參數(shù)名(不設置的時候,默認是”callback“)
	jsonpCallback:"sayHello"   //指定回調(diào)函數(shù)的名字,不設置的時候,jQuery會自動生成一個隨機的回調(diào)函數(shù),
	//并且這個回調(diào)函數(shù)還會自動調(diào)用success的回調(diào)函數(shù)
})

方案三、代理機制(httpclient)

“調(diào)用方”解決跨域的問題是這個思路的:讓發(fā)送出去的請求代理成是本域的。
如果資源是本域的,那就側(cè)面地進行了跨域。

使用Java程序怎么去發(fā)送get/post請求呢?【GET和POST請求就是HTTP請求】

  • 使用JDK內(nèi)置的APIjava.net.URL....),這些API是可以發(fā)送HTTP請求的。
  • 使用第三方的開源組件,比如:apachehttpclient組件。(httpclient組件是開源免費的,可以直接用)。

總結(jié)

到此這篇關于AJAX的跨域問題解決的文章就介紹到這了,更多相關AJAX跨域問題內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 用ajax xml的數(shù)據(jù)讀取的HelloWorld程序

    用ajax xml的數(shù)據(jù)讀取的HelloWorld程序

    我們經(jīng)常會使用JavaScript實現(xiàn)動態(tài)的改變div里面的內(nèi)容,尤其是使用ajax的時候,尤為重要。
    2009-04-04
  • ajax和fetch的區(qū)別點總結(jié)

    ajax和fetch的區(qū)別點總結(jié)

    在本篇文章里小編給大家整理了一篇關于ajax和fetch的區(qū)別點總結(jié)內(nèi)容,對此有興趣的朋友們可以跟著學習下。
    2021-12-12
  • Ajax jsonp跨域請求實現(xiàn)方法

    Ajax jsonp跨域請求實現(xiàn)方法

    這篇文章主要介紹了Ajax jsonp跨域請求實現(xiàn)方法的相關資料,需要的朋友可以參考下
    2015-11-11
  • ASP+AJAX+ACCESS數(shù)據(jù)庫實例講解三個步驟分享

    ASP+AJAX+ACCESS數(shù)據(jù)庫實例講解三個步驟分享

    其實說起AJAX的初級應用是非常簡單的,通俗的說就是客戶端(javascript)與服務端(asp或php等)腳本語言的數(shù)據(jù)交互
    2012-07-07
  • 使用$.getJSON實現(xiàn)跨域ajax請求示例代碼

    使用$.getJSON實現(xiàn)跨域ajax請求示例代碼

    getJSON調(diào)用并獲取遠程的JSON字符串,將其轉(zhuǎn)換為JSON對象,如果成功,則執(zhí)行回調(diào)函數(shù),下面有個不錯的示例,需要的朋友可以參考下
    2013-11-11
  • Ajax實現(xiàn)評論提交

    Ajax實現(xiàn)評論提交

    Ajax實現(xiàn)評論提交...
    2006-10-10
  • axios和ajax的區(qū)別點總結(jié)

    axios和ajax的區(qū)別點總結(jié)

    在本篇文章里小編給大家整理的是一篇關于axios和ajax的區(qū)別點總結(jié)內(nèi)容,對此有興趣的朋友們可以跟著學習下。
    2021-12-12
  • AJAX初級教程之初識AJAX

    AJAX初級教程之初識AJAX

    本文是ajax初級教程的第一篇,本系列教程將從實用的角度出發(fā),以最快的速度讓讀者掌握基本的AJAX應用,以最直接的方式展示AJAX技術。本文則講解下AJAX的基礎知識
    2014-12-12
  • jQuery下的Ajax調(diào)試步驟

    jQuery下的Ajax調(diào)試步驟

    Ajax 可以為用戶提供更為豐富的用戶體驗。jQuery 對 Ajax 當然也提供了很好的支持,而且還抽象了各種瀏覽器對于 Ajax 支持方面令人痛苦的差異。接下來,通過本篇文章給大家介紹jquery下的ajax調(diào)試步驟,感興趣的朋友可以參考下
    2015-09-09
  • 一句話解決AJAX中文亂碼問題[推薦]

    一句話解決AJAX中文亂碼問題[推薦]

    寫了個通過一般處理程序處理的AJAX小程序 結(jié)果遇到了國內(nèi)程序員遇到的最多的問題:中文亂碼
    2008-10-10

最新評論

东平县| 华阴市| 威海市| 织金县| 奉新县| 嘉义县| 海丰县| 安塞县| 景泰县| 保德县| 伊金霍洛旗| 丹巴县| 鹤峰县| 卢氏县| 巴马| 和顺县| 平果县| 乐业县| 肇州县| 平凉市| 宿迁市| 高安市| 尉犁县| 宜阳县| 大邑县| 丰台区| 陆丰市| 玉环县| 临澧县| 北碚区| 奉化市| 枣强县| 绥德县| 金昌市| 烟台市| 霞浦县| 越西县| 南江县| 武平县| 苗栗县| 南召县|