成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

ajax、axios和fetch之間優(yōu)缺點(diǎn)重點(diǎn)對(duì)比總結(jié)

瀏覽:220日期:2022-06-12 08:07:56
目錄
  • 1.jQuery ajax
    • CSRF攻擊
    • XSS攻擊
    • 簡單的解決方法:
  • 2.axios
    • 3.fetch
      • 為什么要用axios?
        • 結(jié)論
          • 總結(jié)

            1.jQuery ajax

            Ajax即“Asynchronous Javascript And XML”(異步 JavaScript 和 XML),是指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。

            用法:

            $.ajax({   type: "POST",   url: url,   data: data,   dataType: dataType,   success: function () {},   error: function () {}});

            本身雖然簡單,但常常會(huì)涉及到一些問題:如

            CSRF攻擊

            CSRF(Cross-site request forgery)跨站請(qǐng)求偽造,也被稱為“One Click Attack”或者Session Riding,通常縮寫為CSRF或者XSRF,是一種對(duì)網(wǎng)站的惡意利用。

            通過這6個(gè)步驟達(dá)到攻擊的目的。

            XSS攻擊

            Cross-Site Scripting(跨站腳本攻擊)簡稱 XSS,是一種代碼注入攻擊。攻擊者通過在目標(biāo)網(wǎng)站上注入惡意腳本,使之在用戶的瀏覽器上運(yùn)行。利用這些惡意腳本,攻擊者可獲取用戶的敏感信息如 Cookie、SessionID 等,進(jìn)而危害數(shù)據(jù)安全。

            為了和 CSS 區(qū)分,這里把攻擊的第一個(gè)字母改成了 X,于是叫做 XSS。

            XSS 的本質(zhì)是:惡意代碼未經(jīng)過濾,與網(wǎng)站正常的代碼混在一起;瀏覽器無法分辨哪些腳本是可信的,導(dǎo)致惡意腳本被執(zhí)行。

            而由于直接在用戶的終端執(zhí)行,惡意代碼能夠直接獲取用戶的信息,或者利用這些信息冒充用戶向網(wǎng)站發(fā)起攻擊者定義的請(qǐng)求。

            簡單的解決方法:

            1、將能被轉(zhuǎn)換為html的輸入內(nèi)容,在寫代碼時(shí)改為innerText而不用innerHTML。(過濾用戶輸入的 檢查用戶輸入的內(nèi)容中是否有非法內(nèi)容。如<>(尖括號(hào))、”(引號(hào))、 ‘(單引號(hào))、%(百分比符號(hào))、;(分號(hào))、()(括號(hào))、&(& 符號(hào))、+(加號(hào))等。、嚴(yán)格控制輸出。)

            2、實(shí)在沒有辦法的情況下可用如下方法(js代碼)

            function safeStr(str){return str.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g, "&quot;").replace(/"/g, "&#039;");}(表單提交或者url參數(shù)傳遞前,對(duì)需要的參數(shù)進(jìn)行過濾,請(qǐng)看如下XSS過濾工具類代碼)

            將含有<>等符號(hào)轉(zhuǎn)化為其他字符簡單方便。

            優(yōu)缺點(diǎn):

            • 本身是針對(duì)MVC的編程,不符合現(xiàn)在前端MVVM的浪潮。
            • 基于原生的XHR開發(fā),XHR本身的架構(gòu)不清晰,已經(jīng)有了fetch的替代方案。
            • JQuery整個(gè)項(xiàng)目太大,單純使用ajax卻要引入整個(gè)JQuery非常的不合理(采取個(gè)性化打包的方案又不能享受CDN服務(wù))。

            2.axios

            axios 基于promise用于瀏覽器和node.js的http客戶端。

            用法:

            axios({    method: "post",    url: "/user/12345",    data: {firstName: "Fred",lastName: "Flintstone"    }}).then(function (response) {    console.log(response);}).catch(function (error) {    console.log(error);});

            優(yōu)缺點(diǎn):

            • 從 node.js 創(chuàng)建 http 請(qǐng)求。
            • 支持 Promise API。
            • 提供了一些并發(fā)請(qǐng)求的接口(重要,方便了很多的操作)。
            • 在瀏覽器中創(chuàng)建 XMLHttpRequests。
            • 在 node.js 則創(chuàng)建 http 請(qǐng)求。(自動(dòng)性強(qiáng))
            • 支持 Promise API。
            • 支持?jǐn)r截請(qǐng)求和響應(yīng)。
            • 轉(zhuǎn)換請(qǐng)求和響應(yīng)數(shù)據(jù)。
            • 取消請(qǐng)求。
            • 自動(dòng)轉(zhuǎn)換 JSON 數(shù)據(jù)。
            • 客戶端支持防止CSRF。
            • 客戶端支持防御 XSRF。

            3.fetch

            fetch號(hào)稱是AJAX的替代品,是在ES6出現(xiàn)的,使用了ES6中的promise對(duì)象。Fetch是基于promise設(shè)計(jì)的。Fetch的代碼結(jié)構(gòu)比起ajax簡單多了,參數(shù)有點(diǎn)像jQuery ajax。但是,一定記住fetch不是ajax的進(jìn)一步封裝,而是原生js,沒有使用XMLHttpRequest對(duì)象。(然而問題還是有很多)

            用法:

            try {  let response = await fetch(url);  let data = response.json();  console.log(data);} catch(e) {  console.log("Oops, error", e);}

            優(yōu)缺點(diǎn):

            • 符合關(guān)注分離,沒有將輸入、輸出和用事件來跟蹤的狀態(tài)混雜在一個(gè)對(duì)象里
            • 更好更方便的寫法
            • 更加底層,提供的API豐富(request, response)
            • 脫離了XHR,是ES規(guī)范里新的實(shí)現(xiàn)方式
            • fetchtch只對(duì)網(wǎng)絡(luò)請(qǐng)求報(bào)錯(cuò),對(duì)400,500都當(dāng)做成功的請(qǐng)求,需要封裝去處理
            • fetch默認(rèn)不會(huì)帶cookie,需要添加配置項(xiàng)
            • fetch不支持abort,不支持超時(shí)控制,使用setTimeout及Promise.reject的實(shí)現(xiàn)的超時(shí)控制并不能阻止請(qǐng)求過程繼續(xù)在后臺(tái)運(yùn)行,造成了量的浪費(fèi)
            • fetch沒有辦法原生監(jiān)測請(qǐng)求的進(jìn)度,而XHR可以。

            為什么要用axios?

            axios 是一個(gè)基于Promise 用于瀏覽器和 nodejs 的 HTTP 客戶端,它本身具有以下特征:

            • 從瀏覽器中創(chuàng)建 XMLHttpRequest
            • 從 node.js 發(fā)出 http 請(qǐng)求
            • 支持 Promise API
            • 攔截請(qǐng)求和響應(yīng)
            • 轉(zhuǎn)換請(qǐng)求和響應(yīng)數(shù)據(jù)
            • 取消請(qǐng)求
            • 自動(dòng)轉(zhuǎn)換JSON數(shù)據(jù)
            • 客戶端支持防止CSRF/XSRF
            • axios既提供了并發(fā)的封裝,也沒有fetch的各種問題,而且體積也較小,當(dāng)之無愧現(xiàn)在最應(yīng)該選用的請(qǐng)求的方式。

            結(jié)論

            三選一絕必是axios了。其流程圖如下:

            總結(jié)

            到此這篇關(guān)于ajax、axios和fetch之間優(yōu)缺點(diǎn)重點(diǎn)對(duì)比總結(jié)的文章就介紹到這了,更多相關(guān)ajax、axios和fetch之間優(yōu)缺點(diǎn)內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

            標(biāo)簽: Ajax
            成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
            欧美r级在线观看| 欧美电影免费观看高清完整版在线 | 欧美 日韩 国产一区二区在线视频 | 欧美日韩免费电影| 天涯成人国产亚洲精品一区av| 国内不卡一区二区三区| 国产亚洲一本大道中文在线| 99精品热视频| 国产婷婷一区二区| 国产精品v亚洲精品v日韩精品| 久久久另类综合| 午夜精品电影| 国产精品色一区二区三区| 欧美午夜视频| 亚洲视频 欧洲视频| 亚洲大黄网站| 亚洲一区国产视频| 色哟哟精品一区| 久草在线在线精品观看| 91麻豆精品国产91久久久更新时间 | 久久综合久久99| 欧美 日韩 国产精品免费观看| 国产日本亚洲高清| 韩日视频一区| 国产精品久久久久久久久免费樱桃| 欧美婷婷久久| 亚洲欧美日韩国产综合| 国产欧美日韩一区二区三区| 亚洲精品网站在线观看| 免费在线观看一区二区| 日韩精品亚洲一区二区三区免费| 在线观看一区日韩| 亚洲午夜电影| 亚洲福利视频三区| 欧美日韩在线直播| eeuss鲁一区二区三区| 中文字幕在线视频一区| 一区二区三区福利| 日本不卡高清视频| 日韩一区二区三区高清免费看看| 91老师片黄在线观看| 亚洲免费观看高清完整版在线观看 | 亚洲四区在线观看| 久久成人在线| 国产一区二区三区在线观看免费 | 亚洲综合色网站| 久久一综合视频| 国产精品综合一区二区三区| 久久久综合激的五月天| 亚洲国产精品毛片| 婷婷久久综合九色综合伊人色| 欧美日韩aaaaaa| 色综合天天性综合| 亚洲综合清纯丝袜自拍| 欧美日韩综合在线免费观看| 国产成人精品免费网站| 国产精品国产自产拍高清av| 久久尤物视频| 成人激情综合网站| 亚洲天堂免费在线观看视频| 乱人伦精品视频在线观看| 韩国一区二区三区| 久久无码av三级| 国产精品久久久一区二区三区| 久久精品国内一区二区三区 | 性做久久久久久免费观看| 欧美日韩一区二区三区不卡| 欧美激情成人在线| 亚洲va国产天堂va久久en| 3d动漫精品啪啪一区二区竹菊 | 精品系列免费在线观看| 久久久久久久久99精品| 亚洲综合精品| 国产精品综合久久| 国产精品无遮挡| 欧美亚洲综合另类| 欧美xxx在线观看| 亚洲成年人影院| 日韩免费视频线观看| 日韩亚洲视频| 国产激情视频一区二区在线观看| 综合久久综合久久| 91精品欧美一区二区三区综合在 | 欧美日本一区二区三区四区| 国产精品99免费看| 久久激五月天综合精品| 欧美韩国日本不卡| 欧美色老头old∨ideo| 欧美另类亚洲| 久久精品国产一区二区三| 国产精品无圣光一区二区| 欧洲生活片亚洲生活在线观看| 亚洲欧美影院| 九一九一国产精品| 亚洲欧洲精品一区二区三区不卡| 欧美日韩1234| 在线亚洲免费| 成人性生交大合| 亚洲国产毛片aaaaa无费看 | 国产精品另类一区| 欧美日韩一区三区四区| 狠狠久久综合婷婷不卡| 国产乱国产乱300精品| 一区二区三区在线高清| 51精品久久久久久久蜜臀| 国产欧美一区二区三区另类精品| 成人黄色综合网站| 蜜臀a∨国产成人精品| 国产精品色哟哟网站| 欧美一区二区播放| 一本高清dvd不卡在线观看| 国产一区视频观看| 精品一区二区日韩| 亚洲色图欧洲色图婷婷| 欧美成人精品高清在线播放| 日本韩国欧美一区| 亚洲欧洲精品一区二区| 国产成人在线视频网址| 日日夜夜精品视频免费| 国产精品丝袜黑色高跟| 欧美一级专区免费大片| 色域天天综合网| 亚洲国产高清视频| 99久久er热在这里只有精品66| 麻豆中文一区二区| 一区二区三区视频在线观看| 久久久影视传媒| 911精品国产一区二区在线| 亚洲专区免费| 精品999日本| 91免费版在线看| 国产精品99精品久久免费| 奇米影视7777精品一区二区| 亚洲自拍偷拍麻豆| 国产精品国产馆在线真实露脸| 精品久久久久香蕉网| 欧美日韩不卡一区二区| 色呦呦日韩精品| 国产精品一级| 在线高清一区| 欧美日韩成人一区二区三区| 99视频一区二区| 国产米奇在线777精品观看| 婷婷激情综合网| 亚洲一二三四区| 亚洲蜜臀av乱码久久精品| 国产精品午夜春色av| 久久久久久99久久久精品网站| 日韩欧美另类在线| 欧美人与z0zoxxxx视频| 日本道免费精品一区二区三区| 国产精品综合| 亚洲三级国产| 狠狠综合久久av一区二区老牛| 91理论电影在线观看| 成人h精品动漫一区二区三区| 国产剧情一区在线| 国产综合色产在线精品| 美女在线观看视频一区二区| 五月激情丁香一区二区三区| 亚洲综合成人在线| 亚洲一区二区三区四区中文字幕| 亚洲美女视频在线| 亚洲欧美日韩在线| 自拍偷拍欧美激情| 亚洲乱码国产乱码精品精98午夜| 亚洲日本在线天堂| 亚洲欧美日韩中文字幕一区二区三区| 亚洲欧洲成人自拍| 1024成人网| 亚洲欧美一区二区不卡| 亚洲女与黑人做爰| 亚洲欧美aⅴ...| 亚洲综合成人在线视频| 亚洲一区二区黄色| 五月天一区二区三区| 日韩激情一区二区| 日本在线不卡一区| 狠狠色丁香久久婷婷综合_中| 精品一区二区三区影院在线午夜| 久久99精品久久久| 国产高清精品在线| www.亚洲免费av| jizzjizzjizz欧美| 欧美三日本三级少妇三99| 伊人久久亚洲影院| 国产欧美激情| 久久国产精品一区二区三区| 色国产综合视频| 欧美色爱综合网| 日韩一区二区影院| 久久久精品天堂| 国产精品久久久久久久岛一牛影视| 最好看的中文字幕久久| 日韩国产欧美一区二区三区| 国产自产v一区二区三区c| 国产成人精品免费看| 欧美xxx在线观看| 一区二区三区av| 欧美性猛交xxxx乱大交退制版|