国产黄色免费网站_久久天天做天天爱综合色_精品国产一区久久久_成人黄色激情网站_久久成人在线视频_美女一区二区在线观看_亚洲精品免费一区亚洲精品免费精品一区 _91精品国产综合久久精品麻豆

Ajax是什么?Ajax高級用法之Axios技術

2021-4-19    前端達人

AJAX

在這里插入圖片描述
ajax 即 “Asynchronous Javascript And XML”(異步 JavaScript 和 XML),是指一種創建交互式、快速動態網頁應用的技術。早期只有同步的方式,多個請求,只能順序執行,只能等待執行。有了ajax異步技術,可以無需等待上一個請求執行完成,就可以直接發起請求。服務端返回后,ajax通過回調技術通知客戶端程序,把響應的結果傳遞給用戶事先寫好的回調函數。通過在后臺與服務器進行少量數據交換,Ajax 可以使網頁實現異步更新。這意味著可以在不重新加載整個網頁的情況下,對網頁進行局部更新,提升網頁的效率,用戶無需等待頁面的刷新,嗖的一下內容就變化了。改變原有整個頁面刷新,造成頁面晃眼的現象。所以這項技術一出現,就得到業界的推崇。

關鍵字:異步、回調、局部刷新。

異步請求局部刷新

主流方式:
在這里插入圖片描述
技術棧

  • HTML 頁面展示
  • JavaScript 形成交互
  • jQuery 封裝JavaScript,代碼更加簡潔高效
  • json 數據傳輸
  • ajax 異步請求
  • Web中間件(tomcat) 處理請求和響應
  • mysql數據庫 存取數據

用戶頁面中觸發ajax請求,訪問后端服務器,Web 中間件 攔截用戶請求,轉發后端程序進行數據處理,一般還需訪問數據庫,然后逐層返回。數據庫返回數據處理服務,數據處理服務返回Web中間件,Web中間件返回ajax調用,將數據封裝到返回的js對象中,目前主流返回數據為json字符串(可以通過Jsonp格式實現跨域訪問)。在回調callback的方法中解析json中的數據,最終回顯到頁面上。通常我們使用jquery封裝過的ajax,寫法更加簡潔靈活。

Ajax 參數詳解

$.ajax({               //交互方式 $.get,$.post,$.getJSON
    async:              //請求同步異步,默認true異步
    type:               //請求類型:GET/POST             
    url:                //請求的網站地址
    data:               //提交的數據,參數
    contentType:        //請求的MIME媒體類型:application/x-www-form-urlencoded(默認)、application/json;charset=UTF-8
    dataType:           //服務器返回MIME類型:xml/html/script/json/jsonp
    success: function(data){    //請求成功,回調函數,data封裝網站返回的數據
        console.log( data );
    },
    error: function(e){     //請求失敗回調函數,e封裝錯誤信息
        console.log(e.status);          //狀態碼
        console.log(e.responseText);    //錯誤信息
    }
}) 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

js、json、jsonp區別

json和jsonp的區別

json請求返回就是json格式,而jsonp請求返回是fun(json)格式。

  • 京東的價格是單獨發起ajax請求,返回json數組,一次可以查詢多個價格

查詢網址:http://p.3.cn/prices/mgets?skuIds=J_1411013,J_1411014

[{"p":"-1.00","op":"3888.00","cbf":"0","id":"J_1411013","m":"6699.00"}, {"p":"-1.00","op":"799.00","cbf":"0","id":"J_1411014","m":"1398.00"}] 
  • 1
  • 2
  • 京東的商品描述是單獨發起ajax請求,返回jsonp格式數據,回顯到頁面

查詢網址:https://d.3.cn/desc/1411000

通過JSONView插件展示數據:
在這里插入圖片描述
網站有一個跨域問題,非同一個網站的請求默認是禁止的**(同源策略)**,那我們的頁面要訪問其他網站啊,例如:我們訪問京東獲取其商品的價格信息。這時就必須用jsonp方式進行跨域請求。

同源策略

同源策略是瀏覽器的一個安全功能,不同源的客戶端腳本在沒有明確授權的情況下,不能讀寫對方資源。所以a.com下的js腳本采用ajax讀取b.com里面的文件數據是會報錯的。

json和js對象的區別

json字符串:   { "id":"100","name":"tony","salary":"30000" }
js對象:       { "id":100,"name":"tony","salary":30000 } 
  • 1
  • 2

可以看出js對象中value值如果是整數,小數,無需加雙引號

  • 含義不同,json是一種數據格式,js對象表示類的實例
  • 傳輸:json用于跨平臺、跨網絡傳輸,速度快;js不能傳輸
  • 展現:json是字符串不能是對象方法函數;js值不一定加雙引號,值可以是對象、函數、字符串等
  • 轉換:JSON已經作為瀏覽器內置對象,eval(json)、JSON.parse(jsonStr) 、JSON.stringify(obj)

Ajax高級用法(axios)

Vue中封裝了ajax并增強了它,在異步并發處理優于原生ajax。稱為:axios(ajax input output system)

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script src="../js/vue.js"></script> //引入js支持,axios.min.js文件 <script src="../js/axios.min.js"></script> </head> <body> <div id="app"> 商品價格:{{info}} </div> </body> <script> new Vue({ el: "#app", data(){ //data的ES6函數寫法 return { info : null } }, mounted(){ axios.get('../data/price.json') .then( //箭頭函數,res為返回值,res.data 返回的json數據對象 res => ( this.info = res.data.price ) ) .catch(function (e){ console.log(e) }) } }) </script> </html> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37

注意:
axios請求頭的 Content-Type 默認是 application/json,而postman默認的是 application/x-www-form-urlencoded。

ajax一般采用@RequestParam接收參數:

@ResponseBody public Result testpost(@RequestParam String username) {} 
  • 1
  • 2

axiso采用@RequestBody的json方式接收參數

@ResponseBody public Result testget(@RequestBody Map map) {} 
  • 1
  • 2

為什么要用Axios

傳統 Ajax 指的是 XMLHttpRequest(XHR), 最早出現的發送后端請求技術,隸屬于原始js中,核心使用XMLHttpRequest對象,多個請求之間如果有先后關系的話,就會出現回調地獄。

JQuery ajax 是對原生XHR的封裝,除此以外還增添了對JSONP的支持。經過多年的更新維護,真的已經是非常的方便了,優點無需多言;如果是硬要舉出幾個缺點,那可能只有:

  • 本身是針對MVC的編程,不符合現在前端MVVM的浪潮
  • 基于原生的XHR開發,XHR本身的架構不清晰。
  • JQuery整個項目太大,單純使用ajax卻要引入整個JQuery非常的不合理(采取個性化打包的方案又不能享受CDN服務)
  • 不符合關注分離(Separation of Concerns)的原則
  • 配置和調用方式非?;靵y,而且基于事件的異步模型不友好。

Vue2.0之后,尤雨溪推薦大家用axios替換JQuery ajax,想必讓axios進入了很多人的目光中。

axios 是一個基于Promise 用于瀏覽器和 nodejs 的 HTTP 客戶端,本質上也是對原生XHR的封裝,只不過它是Promise的實現版本,符合最新的ES規范,它本身具有以下特征:

  • 從瀏覽器中創建 XMLHttpRequest
  • 支持 Promise API
  • 客戶端支持防止CSRF
  • 提供了一些并發請求的接口(重要,方便了很多的操作)
  • 從 node.js 創建 http 請求
  • 攔截請求和響應
  • 轉換請求和響應數據
  • 取消請求
  • 自動轉換JSON數據

防止CSRF:就是讓你的每個請求都帶一個從cookie中拿到的key,根據瀏覽器同源策略,假冒的網站是拿不到你cookie中得key的,這樣,后臺就可以輕松辨別出這個請求是否是用戶在假冒網站上的誤導輸入,從而采取正確的策略。

fetch號稱是AJAX的替代品,是在ES6出現的,使用了ES6中的promise對象。Fetch是基于promise設計的。Fetch的代碼結構比起ajax簡單多了,參數有點像jQuery ajax。但是,一定記住fetch不是ajax的進一步封裝,而是原生js,沒有使用XMLHttpRequest對象。

總得來說:axios既提供了并發的封裝,也沒有fetch的各種問題,而且體積也較小,當之無愧現在最應該選用的請求的方式。


轉自:csdn 論壇 作者:布諾i

日歷

鏈接

個人資料

藍藍設計的小編 http://www.newchinaweekly.com

存檔

精品久久精品久久| 国产精品久久久久福利| 亚洲成人免费视| 国产99久久久国产精品潘金 | 在线观看h网址| 久久精品视频免费在线观看| 成人黄色av网| 国产91精品不卡视频| 在线亚洲男人天堂| 精品少妇一区二区三区在线视频 | 欧美性猛交xxxx免费看久久| 艳妇乳肉豪妇荡乳av| 麻豆久久久久久久久久| 狠狠色狠狠色综合人人| 一本色道久久综合亚洲精品婷婷| 99re6热在线精品视频播放速度| 日韩美女写真福利在线观看| 欧美美女操人视频| 久久高清视频免费| 久久九九亚洲综合| 中日韩午夜理伦电影免费 | 日韩三级视频中文字幕| 五月婷婷综合在线| 欧美日韩亚洲视频| 欧美日韩国产色| 亚洲日本欧美日韩高观看| 日韩精品在线免费| 亚洲欧洲美洲在线综合| 国产www精品| 先锋影音男人资源| 中国老女人av| www.自拍偷拍| 性欧美疯狂猛交69hd| 国产性70yerg老太| 国产小视频在线免费观看| 亚洲综合在线网| 国产极品视频| 国产黄视频网站| 91成人福利在线观看| 国产中文字幕在线| 高潮毛片在线观看| 日韩电影av| 亚洲不卡在线| 精品产国自在拍| 女人天堂亚洲aⅴ在线观看| 国产精品女主播一区二区三区| 日韩和的一区二区| 91一区二区在线观看| 亚洲激情五月婷婷| 欧美日韩综合视频| 亚洲成人精品视频在线观看| 中文字幕日韩精品有码视频| 国产日韩欧美一区二区三区四区| 中文字幕日韩一区二区三区| 欧美三级一级片| 超碰91在线播放| 亚洲人与黑人屁股眼交| 亚洲成人av网址| 欧美又粗又硬又大久久久| 中文字幕在线视频区| 高清不卡亚洲| 国产成人精品999在线观看| 99re8在线精品视频免费播放| 日韩精品免费在线| 国产精品久久久久91| 久久久久久久久久久久91| 娇妻被老王脔到高潮失禁视频| 国产精品第9页| 少妇高潮一区二区三区69| 精品欧美日韩一区二区| 麻豆影视在线观看| 欧美成人黑人| 捆绑调教一区二区三区| 最新不卡av在线| 精品国产网站在线观看| 5566成人精品视频免费| 蜜臀久久99精品久久久酒店新书| av黄色免费网站| 999精品国产| www污网站在线观看| 在线黄色网页| 亚洲精品进入| 国产高清成人在线| 欧美亚洲一区二区在线观看| 另类天堂视频在线观看| 99视频在线免费播放| 毛片久久久久久| 午夜视频福利在线观看| 日日噜噜夜夜狠狠视频| 亚洲电影有码| 中文一区二区| 亚洲国产日韩a在线播放性色| 日韩av大片免费看| www.桃色.com| 99精品在线播放| 女人被狂躁到高潮的免费 | 日本xxxwww免费视频| 51精品国产| 久久99精品久久只有精品| 亚洲国产精品一区二区www在线| 国产精品美女www| 欧美日韩亚洲第一| 国产精品成人免费一区二区视频| 欧美日韩看片| 男人天堂久久久| 久久精品亚洲人成影院| 国产精品私人自拍| 亚洲欧美国产精品| 美乳视频一区二区| 精品久久久久久中文字幕人妻最新 | 国产成人久久婷婷精品流白浆| 亚洲天堂电影在线观看| 亚洲成人1区| 韩国av一区二区三区在线观看| 精品视频123区在线观看| 情事1991在线| 一级黄色录像在线观看| 一本到在线视频| 日本不卡1234视频| 久久激情婷婷| 欧美综合天天夜夜久久| 国产日韩欧美黄色| 久久久国产精品久久久| www.成人在线观看| 99riav在线| 国产美女视频91| 亚洲精品一二区| 午夜视频在线网站| 成年人免费在线视频网站| 日韩一区二区三免费高清在线观看| 国产精品乱码一区二区三区软件| 欧美成人h版在线观看| 欧美 日本 亚洲| 这里只有精品6| 国产成人精品一区二区三区视频| 成人永久看片免费视频天堂| 亚洲欧美精品一区二区| 亚洲精品www.| 先锋影音男人av资源| 亚洲优女在线| 国产91精品久久久久久久网曝门| 日韩av免费一区| 日本一区二区免费电影| 欧洲一级在线观看| 欧美三级在线| 在线91免费看| 色综合久久久久久久久五月| 国产一级性生活| 色www永久免费视频首页在线| 日韩成人免费电影| 欧美诱惑福利视频| 中文字幕亚洲精品在线| 全球最大av网站久久| 91福利小视频| 免费中文日韩| 香蕉久久成人网| 久久天堂久久| 亚洲人成精品久久久久| 成人在线视频网站| 一级黄色a毛片| 9l视频自拍蝌蚪9l视频成人| 亚洲一级二级三级| 91精品综合久久久久久五月天| 国产又粗又猛又爽又黄的视频四季| 毛片av在线| 亚洲成a人v欧美综合天堂下载 | 亚洲av综合色区无码一二三区 | 99re6这里有精品热视频| 国产欧美日韩综合精品一区二区三区 | 国产综合一区二区| 狠狠久久综合婷婷不卡| 国内不卡的二区三区中文字幕| 亚州精品天堂中文字幕| 亚洲人成影视在线观看| 成人午夜视频在线播放| 99精品国产九九国产精品| 国产欧美精品一区二区色综合朱莉| 欧美有码在线视频| 97超碰人人草| 欧美精品总汇| 亚洲永久精品大片| 精品视频导航| free性丰满69性欧美| 精品国产精品| 亚洲成人av在线播放| 手机看片日韩av| 日本精品在线| 久久久久久久电影| caoporn国产精品免费公开| 日韩视频在线观看一区| 国产精品15p| 欧美麻豆精品久久久久久| 免费无码国产v片在线观看| av福利导福航大全在线播放| 中文字幕一区二区三区不卡 | 洋洋av久久久久久久一区| 一区二区三区 欧美| 麻豆91在线| 日韩一区二区三区三四区视频在线观看| 在线看片中文字幕|