<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

        ajax和jsonp跨域的原理本質(zhì)詳解

        來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:51:33
        文檔

        ajax和jsonp跨域的原理本質(zhì)詳解

        ajax和jsonp跨域的原理本質(zhì)詳解:為什么會(huì)有跨域問題? - 因?yàn)橛型床呗?同源策略是瀏覽器的一種安全策略,所謂同源指的是 請(qǐng)求URL地址中的 協(xié)議, 域名 和 端口 都相同,只要其中之一不相同就是跨域 同源策略主要為了保證瀏覽器的安全性 在同源策略下,瀏覽器 不允許 Ajax跨域獲取服務(wù)器數(shù)
        推薦度:
        導(dǎo)讀ajax和jsonp跨域的原理本質(zhì)詳解:為什么會(huì)有跨域問題? - 因?yàn)橛型床呗?同源策略是瀏覽器的一種安全策略,所謂同源指的是 請(qǐng)求URL地址中的 協(xié)議, 域名 和 端口 都相同,只要其中之一不相同就是跨域 同源策略主要為了保證瀏覽器的安全性 在同源策略下,瀏覽器 不允許 Ajax跨域獲取服務(wù)器數(shù)

        為什么會(huì)有跨域問題? - 因?yàn)橛型床呗?/p>

        同源策略是瀏覽器的一種安全策略,所謂同源指的是 請(qǐng)求URL地址中的 協(xié)議, 域名 和 端口 都相同,只要其中之一不相同就是跨域

        同源策略主要為了保證瀏覽器的安全性

        在同源策略下,瀏覽器 不允許 Ajax跨域獲取服務(wù)器數(shù)據(jù)

        http://www.example.com/detail.html

        跨域請(qǐng)求:

      1. http://api.example.com/detail.html 域名不同
      2. http://www.example.com:8080/detail.html 端口不同
      3. http://api.example.com:8080/detail.html 域名、端口不同
      4. https://api.example.com/detail.html 協(xié)議、域名不同
      5. https://www.example.com:8080/detail.html 端口、協(xié)議不同
      6. ajax的基本概念

        了解這個(gè)概念,首先得先知道同步交互與異步交互

      7. 同步交互:客戶端瀏覽器給服務(wù)器發(fā)送一個(gè)請(qǐng)求,服務(wù)器返回一個(gè)頁面,返回的頁面會(huì)把之前的頁面覆蓋掉,我們把這種交互方式稱為同步交互
      8. 異步交互:就是可會(huì)斷瀏覽器給服務(wù)器發(fā)送一個(gè)請(qǐng)求,服務(wù)器返回?cái)?shù)據(jù),返回的數(shù)據(jù)不會(huì)把之前的頁面覆蓋掉,我們把這種交互方式稱之為異步交互
      9. ajax主要的應(yīng)用場景:頁面不刷新,就可以與服務(wù)器進(jìn)行動(dòng)態(tài)的數(shù)據(jù)交互

        交互的原理

      10. 同步交互原理:我們?cè)跒g覽器,怎么給服務(wù)器發(fā)送請(qǐng)求呢?可以點(diǎn)擊超鏈接,提交表單,瀏覽器地址欄輸入地址,都是給服務(wù)器發(fā)送請(qǐng)求,實(shí)際上是瀏覽器幫助我們給服務(wù)器去發(fā)送請(qǐng)求
      11. 異步交互的原理:JavaScript給我們提供了一個(gè)新的API接口,幫我們?nèi)グl(fā)送http請(qǐng)求,由XMLHttpRequest 對(duì)象來幫助我們發(fā)送請(qǐng)求
      12. 我們所有的交互操作都可以通過這個(gè)對(duì)象來完成,發(fā)送請(qǐng)求,接受服務(wù)器的數(shù)據(jù)

        ajax的具體應(yīng)用場景

      13. 前臺(tái)可以通過XMLHttpRequest 給服務(wù)器發(fā)送請(qǐng)求,然后再通過XMLHttpRequest 對(duì)象來接受服務(wù)器返回的數(shù)據(jù),最后通過dom操作把數(shù)據(jù)寫到頁面上
      14. ajax:可以用來表單輸入規(guī)范驗(yàn)證
      15. ajax:也可以用來做性能優(yōu)化,比如一個(gè)頁面非常龐大,這個(gè)頁面不可能一次加載完畢,實(shí)現(xiàn)一個(gè)滾動(dòng)加載
      16. XMLHttpRequest 交互的四個(gè)步驟

              1,實(shí)例化XMLHttpRequest 對(duì)象

              2,想和服務(wù)器進(jìn)行交互,必須和服務(wù)器打開一個(gè)連接

              3,給服務(wù)器發(fā)送數(shù)據(jù),發(fā)送參數(shù)數(shù)據(jù)到服務(wù)器

              4,接受服務(wù)器返回的數(shù)據(jù),服務(wù)器在返回給客戶端的時(shí)候會(huì)返回一些狀態(tài),可以通過監(jiān)聽服務(wù)器狀態(tài)的改變,來更好的操控整個(gè)交互流程

        ajax跨域

        跨域:假設(shè)我訪問 a 站點(diǎn),后臺(tái)返回給我一個(gè)頁面,然后我又想在 a 站點(diǎn)的這個(gè)頁面去訪問 b 站點(diǎn)的資源,這就是一個(gè)跨域的效果,跨域?yàn)g覽器是有安全限制的

        解決·跨域的方式:jsonp方式

        JSONP 全稱是 JSON with Padding ,是基于 JSON 格式的為解決跨域請(qǐng)求資源而產(chǎn)生的解決方案。他實(shí)現(xiàn)的基本原理是利用了 HTML 里 <script></script> 元素標(biāo)簽,遠(yuǎn)程調(diào)用 JSON 文件來實(shí)現(xiàn)數(shù)據(jù)傳遞。如要在 a.com 域下獲取存在 b.com 的 JSON 數(shù)據(jù)( getUsers.JSON ):

        jsonp解決跨域的本質(zhì)原理:由于瀏覽器有同源限制,不同站點(diǎn)之間不能相互訪問,但是有時(shí)候我們就是想要獲取其他站點(diǎn)的數(shù)據(jù),比如加入我們想要獲取一下急速數(shù)據(jù)的天氣預(yù)報(bào)數(shù)據(jù),這肯定跨域了,那么我們?cè)撛趺崔k呢?

        原理:就是動(dòng)態(tài)創(chuàng)建<script>標(biāo)簽,然后利用<script>的src 不受同源策略約束來跨域獲取數(shù)據(jù)。

        這樣在后臺(tái)就可以獲取到前臺(tái)傳過來的那個(gè)回調(diào)函數(shù),,最后后臺(tái)返回這個(gè)函數(shù)的調(diào)用,參數(shù)為前臺(tái)請(qǐng)求的數(shù)據(jù)

        js代碼

        <script type="text/javascript">
         function handleResponse(response){
         console.log(response);
         }
        </script>
        
        <script type="text/javascript">
         window.onload = function() {
        
         var oBtn = document.getElementById('btn');
        
         oBtn.onclick = function() { 
        
         var script = document.createElement("script");
         script.src = "https://api.douban.com/v2/book/search?q=javascript&count=1&callback=handleResponse";
         document.body.insertBefore(script, document.body.firstChild); 
         };
        };
        </script>

        總結(jié)

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        ajax和jsonp跨域的原理本質(zhì)詳解

        ajax和jsonp跨域的原理本質(zhì)詳解:為什么會(huì)有跨域問題? - 因?yàn)橛型床呗?同源策略是瀏覽器的一種安全策略,所謂同源指的是 請(qǐng)求URL地址中的 協(xié)議, 域名 和 端口 都相同,只要其中之一不相同就是跨域 同源策略主要為了保證瀏覽器的安全性 在同源策略下,瀏覽器 不允許 Ajax跨域獲取服務(wù)器數(shù)
        推薦度:
        標(biāo)簽: 原理 本質(zhì) ajax
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产亚洲视频在线观看网址 | 在线精品亚洲一区二区| 一区二区在线免费观看| 亚洲综合伊人久久综合| 亚洲五月午夜免费在线视频| 相泽亚洲一区中文字幕| 两个人看的www免费视频| 日韩va亚洲va欧洲va国产| 亚洲免费人成在线视频观看| 亚洲精品自产拍在线观看动漫| 免费成人在线视频观看| 亚洲国产综合91精品麻豆| 在线观看免费av网站| 亚洲aⅴ天堂av天堂无码麻豆| 午夜毛片不卡免费观看视频| 亚洲AV无码男人的天堂| 亚洲国产成人精品女人久久久 | 免费精品久久天干天干| 亚洲午夜久久影院| 国产1024精品视频专区免费| 亚洲精品一二三区| 免费人成在线观看网站品爱网日本| 一本一道dvd在线观看免费视频| 亚洲无人区一区二区三区| 91精品全国免费观看含羞草 | 中文字幕在亚洲第一在线| 国产精品99久久免费观看| 亚洲成a人片7777| 无码不卡亚洲成?人片| 国产麻豆一精品一AV一免费| 亚洲乱码中文字幕小综合| 国产午夜鲁丝片AV无码免费| a级成人毛片免费视频高清| 亚洲喷奶水中文字幕电影| 国产在线观看免费不卡| 免费av一区二区三区| 亚洲大码熟女在线观看| 国产精品亚洲成在人线| 女人让男人免费桶爽30分钟| 在线观看黄片免费入口不卡| 亚洲综合一区二区三区四区五区|