日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

web前端學(xué)習(xí)路線分享了解AJAX是什么

 好程序員IT 2019-09-03

web前端學(xué)習(xí)路線分享了解AJAX是什么首先是服務(wù)器

什么是服務(wù)器:咱們的頁(yè)面來(lái)源于服務(wù)器;實(shí)例(在phpnwo上面存放一個(gè)頁(yè)面),

咱們把頁(yè)面放在互聯(lián)網(wǎng)的服務(wù)器上,就有了自己的網(wǎng)站了。

1.異步同步

生活中的同步: 

生活中的異步:


在JavaScript語(yǔ)言中,同步和異步的概念剛好相反。

這JavaScript中同步就是:你不執(zhí)行完上面的代碼,那么下面的代碼你就別執(zhí)行;一步一步執(zhí)行,這就是同步。

異步就是可以一塊執(zhí)行的代碼;

進(jìn)程的概念

    進(jìn)程程序

    程序從開始到結(jié)束的一次執(zhí)行過(guò)程叫做進(jìn)程

    一個(gè)進(jìn)程當(dāng)中,程序同時(shí)運(yùn)行的多個(gè)分支,叫做線程

    多線程異步執(zhí)行,可以提高程序的效率

AJAX的重要性

在許多數(shù)企業(yè)看來(lái)AJAX的使用熟練程度 === 你的工作經(jīng)驗(yàn)。

2.什么是AJAX

ajax是前后端數(shù)據(jù)交互的重要手段

Ajax 全稱為:“Asynchronous JavaScript and XML”(異步 JavaScript 和 XML), 它并不是 JavaScript 的一種單一技術(shù),而是利用了一系列交互式網(wǎng)頁(yè)應(yīng)用相關(guān)的技術(shù)所形 成的結(jié)合體。使用 Ajax,我們可以無(wú)刷新狀態(tài)更新頁(yè)面,并且實(shí)現(xiàn)異步提交,提升了用戶體驗(yàn)。

一.Ajax 概述

Ajax 這個(gè)概念是由 JesseJamesGarrett 在 2005 年發(fā)明的。它本身不是單一技術(shù),是一串 技術(shù)的集合,主要有:

1.JavaScript,通過(guò)用戶或其他與瀏覽器相關(guān)事件捕獲交互行為

2.XMLHttpRequest 對(duì)象,通過(guò)這個(gè)對(duì)象可以在不中斷其它瀏覽器任務(wù)的情況下向服務(wù) 器發(fā)送請(qǐng)求;

3.服務(wù)器上的文件,以 XML、HTML 或 JSON 格式保存文本數(shù)據(jù);

4.其它 JavaScript,解釋來(lái)自服務(wù)器的數(shù)據(jù)(比如 PHP 從 MySQL 獲取的數(shù)據(jù))并將其 呈現(xiàn)到頁(yè)面上。

由于 Ajax 包含眾多特性,優(yōu)勢(shì)與不足也非常明顯。優(yōu)勢(shì)主要以下幾點(diǎn):

1.不需要插件支持(一般瀏覽器且默認(rèn)開啟 JavaScript 即可);

2.用戶體驗(yàn)極佳(不刷新頁(yè)面即可獲取可更新的數(shù)據(jù));

3.提升 Web 程序的性能(在傳遞數(shù)據(jù)方面做到按需放松,不必整體提交);

4.減輕服務(wù)器和帶寬的負(fù)擔(dān)(將服務(wù)器的一些操作轉(zhuǎn)移到客戶端);

而 Ajax 的不足由以下幾點(diǎn):

1.不同版本的瀏覽器度 XMLHttpRequest 對(duì)象支持度不足(比如 IE5 之前);

2.前進(jìn)、后退的功能被破壞(因?yàn)?Ajax 永遠(yuǎn)在當(dāng)前頁(yè),不會(huì)幾率前后頁(yè)面);

3.搜索引擎的支持度不夠(因?yàn)樗阉饕媾老x還不能理解 JS 引起變化數(shù)據(jù)的內(nèi)容);

4.開發(fā)調(diào)試工具缺乏(相對(duì)于其他語(yǔ)言的工具集來(lái)說(shuō),JS 或 Ajax 調(diào)試開發(fā)少的可憐) 。

3.AJAX的使用

電話的接打順序:


1.首先要有一個(gè)電話;

2.撥號(hào);

3.說(shuō)話;

4.聽電話另一邊的信息;

//有一個(gè)電話:創(chuàng)建請(qǐng)求對(duì)象;

1.var AJAX=new XMLHttpRequest( );

//撥號(hào):設(shè)置請(qǐng)求參數(shù);

2.AJAX.open('get','data/test.json',true);

第一個(gè)參數(shù):POST||GET

POST和GET的區(qū)別

POST是發(fā)送數(shù)據(jù),GET是接受數(shù)據(jù);

PSOT發(fā)送數(shù)據(jù)的安全性較好,而GET較差;

POST發(fā)送數(shù)據(jù)不限制大小,而GET大小受限2~100k。

什么時(shí)候用GET和POST那:在數(shù)據(jù)獲取時(shí)用GET方式,在操作數(shù)據(jù)時(shí)應(yīng)使用POST方式。

第三個(gè)參數(shù):當(dāng)該boolean值為true時(shí),服務(wù)器請(qǐng)求是異步進(jìn)行的,也就是腳本執(zhí)行send()方法后不等待

服務(wù)器的執(zhí)行結(jié)果,而是繼續(xù)執(zhí)行腳本代碼;

當(dāng)該boolean值為false時(shí),服務(wù)器請(qǐng)求是同步進(jìn)行的,也就是腳本執(zhí)行send()方法后等待

服務(wù)器的執(zhí)行結(jié)果的返回,若在等待過(guò)程中超時(shí),則不再等待,繼續(xù)執(zhí)行后面的腳本代碼!

3. ajax.onreadystatechange = function()

    {

        if (ajax.readyState == 4 && ajax.status == 200)

        {

            func_succ(ajax.responseText);

        }

        else

        {

            //alert("ajax faild readyState:"+ajax.readyState+" status:"+ajax.status);

        }

    };

4.ajax.send(null);

ajax.readyStatus

0 - (未初始化)還沒有調(diào)用send()方法

1 - (載入)已調(diào)用send()方法,正在發(fā)送請(qǐng)求

2 - (載入完成)send()方法執(zhí)行完成,已經(jīng)接收到全部響應(yīng)內(nèi)容

3 - (交互)正在解析響應(yīng)內(nèi)容

4 - (完成)響應(yīng)內(nèi)容解析完成,可以在客戶端調(diào)用了

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多