主頁 > 企業開發 > JavaScript全決議——Ajax是什么(上)

JavaScript全決議——Ajax是什么(上)

2023-05-19 09:46:52 企業開發

AJAX 是Asynchronous JavaScript And XML的縮寫,

它不是一種編程語言,它是一種基于HTML、CSS、JavaScript 和 XML,讓開發更好、更快和更有互動的 Web 應用的技術,

什么是ajax

認識前后端互動

前后端互動就是前端與后端的一種通訊方式,主要使用的技術堆疊就是ajax (async javascript and xml

ajax 特點

使用 ajax 技術網頁應用能夠快速的將新內容呈現在用戶界面,并且不需要重繪整個頁面, 也就是能夠讓頁面有 "無刷更新" 的效果

注意點

前后端互動只能互動字串,并且有自己的固定步驟

創建ajax 基本步驟的是什么

1.創建 ajax 物件

const xhr = new XMLHttpRequest()

2.配置 ajax 物件

// xhr.open('請求的方式', '請求的地址', 是否異步) 
xhr.open('GET', 'http://localhost:8888/test/first', true)

3.發送請求

xhr.send()

4.接收回應

xhr.onload = function () { 
    console.log('請求回來了~~~~~~~~') 
    console.log(xhr.responseText) 
}

ajax 狀態碼有哪些

簡單來說其實就是用一個數字表明了當前 ajax 運行到哪一步了

語法: xhr.readyState

0: 創建 ajax 成功
1: 當前 ajax 配置成功
2: 當前 ajax 發送成功(回應已經回到瀏覽器了)
3: 表示瀏覽器當前正在決議本次回應, 但可能還沒完成
4: 表示瀏覽器已經完成決議本次回應, 可以正常使用 responseText 了

0 和 1, 比較好列印, 2/3/4 這幾個我們可以借助一個事件去列印

readyStatechange 事件

通過事件名其實就可以看出, 當 readyState 發生改變時就會執行

const xhr = new XMLHttpRequest() 
console.log(xhr.readyState) // 0 

xhr.open('GET', 'http://localhost:8888/test/first', true) console.log(xhr.readyState) // 1 

xhr.onreadystatechange = function () { 
    if (xhr.readyState === 2) console.log(xhr.responseText) 
    if (xhr.readyState === 3) console.log(xhr.responseText) 
    if (xhr.readyState === 4) console.log(xhr.responseText) 
} 

xhr.send()

ajax 常見請求方式有哪些

GET

○表示向服務器獲取資源

POST

表示向服務器提交資訊,通常用于產生新的資料,比如注冊

PUT

表示希望修改服務器的資料, 通常用于修改某資料

DELETE

表示希望洗掉服務器的資料

OPTIONS

發生在跨域的預檢請求中,表示客戶端向服務器申請跨域提交

ajax 中 get 和 post 請求攜帶引數的方式

GET

直接拼接在請求路徑后, 以 ? 間隔, 使用 key=value 的形式書寫, 當有多個引數的時候用 & 連接

const xhr = new XMLHttpRequest() 
xhr.open('GET', 'http://localhost:8888/test/third?name=QF666&age=18') xhr.send() 
xhr.onload = function () { 
    let res = JSON.parse(xhr.responseText) 
    console.log(res) }

POST

在請求體內攜帶引數(其實就是 send 小括號內部)

并且需要設定請求頭內部的 content-type

■ 如果引數為 查詢字串, 需要添加:

● 'xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded')'

■ 如果引數為 JSON 字串, 需要添加:

● 'xhr.setRequestHeader('content-type', 'application/json')'

const xhr = new XMLHttpRequest() 
xhr.open('POST', 'http://localhost:8888/test/fourth') 
xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded') 
xhr.send('name=QF666&age=18') 
xhr.onload = function () { 
    let res = JSON.parse(xhr.responseText) 
    console.log(res) 
} 

ajax 中 get 和 post 的區別有哪些

1.攜帶引數的位置

a.GET: 直接在地址后面書寫

b.POST: 在請求體內書寫

2.攜帶引數的大小

a.GET: 2kb(左右)

b.POST: 原則上不限制大小, 但是服務器可以做出限制

3.攜帶引數的格式

a.GET: 只能攜帶查詢字串格式

b.POST: 原則上不限制格式, 但是需要在請求報文的 content-type 做出配置

4.安全性(相對)

a.GET: 明文發送, 相對不安全

b.POST: 暗文發送, 相對安全


由于內容比較多,我們Ajax分為上下兩部分內容,以上就是我們JavaScript講解Ajax上部分的內容啦,下期精彩繼續!大家可以持續關注~

更多技術類內容,點我主頁查看

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/552864.html

標籤:其他

上一篇:使用taro+canvas實作微信小程式的圖片分享功能

下一篇:返回列表

標籤雲
其他(159316) Python(38156) JavaScript(25439) Java(18070) C(15228) 區塊鏈(8267) C#(7972) AI(7469) 爪哇(7425) MySQL(7197) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5871) 数组(5741) R(5409) Linux(5340) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4573) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2433) ASP.NET(2403) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) .NET技术(1975) 功能(1967) Web開發(1951) HtmlCss(1940) python-3.x(1918) C++(1917) 弹簧靴(1913) xml(1889) PostgreSQL(1878) .NETCore(1861) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • IEEE1588PTP在數字化變電站時鐘同步方面的應用

    IEEE1588ptp在數字化變電站時鐘同步方面的應用 京準電子科技官微——ahjzsz 一、電力系統時間同步基本概況 隨著對IEC 61850標準研究的不斷深入,國內外學者提出基于IEC61850通信標準體系建設數字化變電站的發展思路。數字化變電站與常規變電站的顯著區別在于程序層傳統的電流/電壓互 ......

    uj5u.com 2020-09-10 03:51:52 more
  • HTTP request smuggling CL.TE

    CL.TE 簡介 前端通過Content-Length處理請求,通過反向代理或者負載均衡將請求轉發到后端,后端Transfer-Encoding優先級較高,以TE處理請求造成安全問題。 檢測 發送如下資料包 POST / HTTP/1.1 Host: ac391f7e1e9af821806e890 ......

    uj5u.com 2020-09-10 03:52:11 more
  • 網路滲透資料大全單——漏洞庫篇

    網路滲透資料大全單——漏洞庫篇漏洞庫 NVD ——美國國家漏洞庫 →http://nvd.nist.gov/。 CERT ——美國國家應急回應中心 →https://www.us-cert.gov/ OSVDB ——開源漏洞庫 →http://osvdb.org Bugtraq ——賽門鐵克 →ht ......

    uj5u.com 2020-09-10 03:52:15 more
  • 京準講述NTP時鐘服務器應用及原理

    京準講述NTP時鐘服務器應用及原理京準講述NTP時鐘服務器應用及原理 安徽京準電子科技官微——ahjzsz 北斗授時原理 授時是指接識訓通過某種方式獲得本地時間與北斗標準時間的鐘差,然后調整本地時鐘使時差控制在一定的精度范圍內。 衛星導航系統通常由三部分組成:導航授時衛星、地面檢測校正維護系統和用戶 ......

    uj5u.com 2020-09-10 03:52:25 more
  • 利用北斗衛星系統設計NTP網路時間服務器

    利用北斗衛星系統設計NTP網路時間服務器 利用北斗衛星系統設計NTP網路時間服務器 安徽京準電子科技官微——ahjzsz 概述 NTP網路時間服務器是一款支持NTP和SNTP網路時間同步協議,高精度、大容量、高品質的高科技時鐘產品。 NTP網路時間服務器設備采用冗余架構設計,高精度時鐘直接來源于北斗 ......

    uj5u.com 2020-09-10 03:52:35 more
  • 詳細解讀電力系統各種對時方式

    詳細解讀電力系統各種對時方式 詳細解讀電力系統各種對時方式 安徽京準電子科技官微——ahjzsz,更多資料請添加VX 衛星同步時鐘是我京準公司開發研制的應用衛星授時時技術的標準時間顯示和發送的裝置,該裝置以M國全球定位系統(GLOBAL POSITIONING SYSTEM,縮寫為GPS)或者我國北 ......

    uj5u.com 2020-09-10 03:52:45 more
  • 如何保證外包團隊接入企業內網安全

    不管企業規模的大小,只要企業想省錢,那么企業的某些服務就一定會采用外包的形式,然而看似美好又經濟的策略,其實也有不好的一面。下面我通過安全的角度來聊聊使用外包團的安全隱患問題。 先看看什么服務會使用外包的,最常見的就是話務/客服這種需要大量重復性、無技術性的服務,或者是一些銷售外包、特殊的職能外包等 ......

    uj5u.com 2020-09-10 03:52:57 more
  • PHP漏洞之【整型數字型SQL注入】

    0x01 什么是SQL注入 SQL是一種注入攻擊,通過前端帶入后端資料庫進行惡意的SQL陳述句查詢。 0x02 SQL整型注入原理 SQL注入一般發生在動態網站URL地址里,當然也會發生在其它地發,如登錄框等等也會存在注入,只要是和資料庫打交道的地方都有可能存在。 如這里http://192.168. ......

    uj5u.com 2020-09-10 03:55:40 more
  • [GXYCTF2019]禁止套娃

    git泄露獲取原始碼 使用GET傳參,引數為exp 經過三層過濾執行 第一層過濾偽協議,第二層過濾帶引數的函式,第三層過濾一些函式 preg_replace('/[a-z,_]+\((?R)?\)/', NULL, $_GET['exp'] (?R)參考當前正則運算式,相當于匹配函式里的引數 因此傳遞 ......

    uj5u.com 2020-09-10 03:56:07 more
  • 等保2.0實施流程

    流程 結論 ......

    uj5u.com 2020-09-10 03:56:16 more
最新发布
  • JavaScript全決議——Ajax是什么(上)

    AJAX 是Asynchronous JavaScript And XML的縮寫。 它不是一種編程語言。它是一種基于HTML、CSS、JavaScript 和 XML,讓開發更好、更快和更有互動的 Web 應用的技術。 什么是ajax 認識前后端互動 前后端互動就是前端與后端的一種通訊方式,主要使用 ......

    uj5u.com 2023-05-19 09:46:52 more
  • 使用taro+canvas實作微信小程式的圖片分享功能

    業務場景 二輪充電業務中,用戶充電完成后在訂單詳情頁展示訂單相關資訊,用戶點擊分享按鈕喚起微信小程式分享選單,將生成的圖片海報分享給微信好友或者下載到本地,好友可通過掃描海報中的二維碼加群領取優惠。 使用場景及功能:微信小程式 生成海報圖片 分享好友 下載圖片 使用技術:Taro vue vant ......

    uj5u.com 2023-05-19 09:46:36 more
  • JSP_5.16_課堂筆記

    完整的可以與資料庫連接的登錄界面的代碼 login.jsp <%@ page language="java" contentType="text/html; UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta chars ......

    uj5u.com 2023-05-19 09:46:19 more
  • HTTP1.0、HTTP1.1、HTTP2.0 協議的特點

    HTTP(Hypertext Transfer Protocol)是一種用于在Web瀏覽器和Web服務器之間傳輸資料的協議。HTTP的版本有很多,其中比較常見的有 HTTP 1.0 、 HTTP 1.1 和 HTTP 2.0 ,它們有各自的特點。 HTTP 1.0 的特點: 1. 每個請求/回應需要 ......

    uj5u.com 2023-05-19 09:46:01 more
  • JS函式中的屬性

    當定義和呼叫函式時,JavaScript 函式物件會自動具有一些特定的屬性,以下是一些常見的屬性和方法。 1. arguments : arguments 是一個類陣列物件,它包含了函式呼叫時傳遞的引數。它允許你在函式內部訪問傳遞給函式的引數串列,即使在函式定義時未明確宣告這些引數。可以通過索引訪問 ......

    uj5u.com 2023-05-19 09:45:27 more
  • Express實戰個人訂閱號實作網站登錄

    今天我們來實作一個使用個人訂閱號實作網站的功能,后端使用的是 express 。其它框架原理基本一致,只是定義路由或回傳回應資料部分代碼跟 express 有所出入。先來一波效果圖: 1. 前言 20 年 3 月在掘金寫過一篇文章,介紹了使用 express 開發微信公眾號的案例: 原文地址。當時使 ......

    uj5u.com 2023-05-19 09:45:23 more
  • 利用HTML5存盤物件:localStorage和sessionStorage決議

    HTML5引入了Web存盤機制,使得網頁可以在用戶的瀏覽器中存盤資料。這個機制包括兩個主要的存盤方式:localStorage和sessionStorage。這兩者的主要區別在于存盤的資料持久性。簡單來說,localStorage存盤的資料是永久的,即使瀏覽器關倍訓電腦重啟,資料仍然存在。而sess... ......

    uj5u.com 2023-05-19 09:45:19 more
  • JavaScript全決議——Ajax是什么(上)

    AJAX 是Asynchronous JavaScript And XML的縮寫。 它不是一種編程語言。它是一種基于HTML、CSS、JavaScript 和 XML,讓開發更好、更快和更有互動的 Web 應用的技術。 什么是ajax 認識前后端互動 前后端互動就是前端與后端的一種通訊方式,主要使用 ......

    uj5u.com 2023-05-19 09:45:15 more
  • 網站都變灰了,幾行代碼可以實作

    前言 這兩天,我們經常逛的好多網站、app首頁都變灰了,原因大家應該都知道了 網站變灰 ①B站 ②愛奇藝 ③ 騰訊視頻 ④ csdn ⑤百度 怎么實作的呢? 難道這些網站開發商在網站開發的時候都準備一套灰色主題的UI么? 好奇心的驅使下,開始瘋狂的詢問度娘,果真還是找到了這么一個網站。 ①官方檔案地 ......

    uj5u.com 2023-05-19 09:33:08 more
  • CSS 實作磨砂玻璃樣式

    CSS 實作磨砂玻璃(毛玻璃)效果樣式 要實作磨砂玻璃背景,可以使用 CSS3 中的 ::before 偽元素和 backdrop-filter 屬性,結合 opacity 屬性和 blur() 函式來實作。 具體實作步驟如下: 創建一個具有背景的元素,例如一個 div 元素。 div { back ......

    uj5u.com 2023-05-19 09:27:52 more