• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

mackliu/1101_ajax: AJAX技術概念與相關應用

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

mackliu/1101_ajax

开源软件地址:

https://github.com/mackliu/1101_ajax

开源编程语言:

HTML 82.5%

开源软件介绍:

AJAX 非同步的javascript及XML技術

在早期的網頁應用上,如果要取得更新後的資料,必須重新對伺服器再發一次請求(使用連結,F5,或表單傳送都算是對伺服器發出請求),才能得到更新後的內容,這樣的過程如果遇到較慢的網路或是其它的網路狀況,會造成網頁呈現中斷並且無法操作的狀況,這會讓使用者的體驗非常不好,因此後來提出了這類非同步的技術,目的是不中斷主要頁面的呈現,讓不確定回應時間的資訊在背景去執行,等執行完畢後再回應到頁面上。

HTML原生就有XMLHttpRequest的方法可以用來實踐非同步的功能,後來HTML5又推出了FETCH的方法,可以簡化非同步請求的使用,除了原生的API,也陸續有第三方社群或開發者推出相應的函式庫供大眾使用,最有名的是jQuery的$.ajax系列方法,另外axios函式庫近年也愈來愈多人使用,甚至被vue.js列為建議的輔助函式庫。


XML與JSON

早期的http傳輸資料以xml為主,在前後端收到資料後,需要去進行解析,才能進一步應用,後來又推出JSON格式,資料量比XML小,解析和應用也較方便,因此近年來的資料傳輸逐漸以JSON來取代XML,因此也有人改稱為AJAJ技術。


XMLHttpRequest

XMLHttpRequest在2006年正式被W3C列入標準,也是目前所有瀏灠器都有支援的標準。

語法:

//宣告XHR物件
var xhr=new XMLHttpRequest

//建立設定
xhr.open(
    Method,
    URL,
    async);

//處理回應
xhr.onload=function(){  
    var type=xhr.getResponseHeader(“Content-Type”);
    var status=xhr.status
    var response=xhr.responseText
    document.write(response)
}

//執行請求及傳送內容
xhr.send(context);

Fetch

在2015年時推出,由主流的幾家瀏灠器所支援,包括Firefox與Chrome、Opera等,IE也宣布在後續的版本會支援Fetch,Fetch的最大特色是引入了Promise的概念,同時透過鏈式呼叫來改善語法結構。

語法:

//建立請求
fetch(url,{method:’get’})
.then(function(response){
    
    return response.json()

}).then(function(data){
	
    console.log(data)

})
.catch(function(err){
    //error
})

jQuery函式庫

jQuery最早只是重新包裝XMLHttpRequest的使用方法,推出比較容易操作的自訂函式供使用,不過後來也自行加入了延遲的概念,讓非同步的事件可以更容易的進行管理。

CDN:https://code.jquery.com/

語法:

//$.ajax方法
$.ajax({
    type:get/post/patch/delete/update…,
    url:"http://.....",
    success: (callback),
    error: (callback),
    data:{json/xml/string},
    complete: (callback)
})

//$.get方法
$.get(url,data,callback)

//$.post方法
$.post(url,data,callback)

//().load()方法
$(selector).load(url)

axios函式庫

axios是一個基於Promise標準而建立的非同步請求函式庫,除了提供簡便的語法操作外,由於axios只專注在非同步的請求上,因此整個函式庫相較jQuery小很多,也因此成為許多框架或是不想使用jQuery的使用者喜歡。

CDN:https://cdnjs.cloudflare.com/ajax/libs/axios/0.21.1/axios.min.js

語法:

axios.get(url)
.then(function(response){

//處理回應

})
.catch(function(err){
//error

})



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
uwi-info2180/info2180-ajax-superheroes发布时间:2022-03-31
下一篇:
DubFriend/CRUD: ajax crud ui generator发布时间:2022-03-31
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap