Ajax快速入門教程

輸入java時,頁面并沒有刷新但是下面自動聯想出了跟java有關的東西,像這種就叫異步交互

它不會妨礙你的輸入,同時還能夠同步進行對于java相關聯想詞的推送

發送異步請求需要借助工具axios

引入axios,可以直接在scripts中引入

get和post的區別:GET 提交參數一般顯示在 URL 上,POST 通過表單提交不會顯示在 URL 上,POST 更具隱蔽性

data和post方法相對應,params和get方法相對應

成功回調函數:進行異步請求的時候,是不會影響客戶端的進程的,所以我們需要一個成功回調函數來去接收你異步向服務器進行請求的結果,result里的就是服務器端響應回來的數據

catch是與then平級的函數,叫失敗回調函數,顧名思義就是請求失敗的時候執行的函數

格式:

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script>document.querySelector('你要捕獲的標簽所帶的id名').addEventListener('你要添加的監聽事件',() =>{//開始發起異步請求axios({url:'你要請求的地址(?get參數內容)',method:'GET/POST'  //選擇get方法還是post方法。若使用get且有請求參數,看上面一行括號內容,如果是post方法有請求參數,看下一行內容//data:'post要請求的參數' }).then((then) =>{console.log(result);   //成功回調后輸出結果}).catch((err) =>{console.log(err);  //失敗回調后輸出失敗原因})
})</script>

另一種方法,請求方式

如果是用post才需要用到上面圖中寫的格式中的data什么的參數,是get直接輸入網址就可以了

直接出現then和catch方法的快速方式:輸axios.get().thenc回車

關于代碼的先后輸出順序

在這里,2雖然寫在下面,但是要注意1用到了異步請求,它是需要時間的,同時它不會影響其他地方的進程,所以是2先輸出,1后輸出

如果是get請求,可以直接在url中輸入參數,格式為:

url?參數1=xxx&參數二=(若無要求)&參數三=xxx? ?

如:

https://web-server.itheima.net/emps/list?name=xxx&gender=xxx&job=xxx

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>Tlias智能學習輔助系統</title><style>/* 導航欄樣式 */.navbar {background-color: #b5b3b3; /* 灰色背景 */display: flex; /* flex彈性布局 */justify-content: space-between; /* 左右對齊 */padding: 10px; /* 內邊距 */align-items: center; /* 垂直居中 */}.navbar h1 {margin: 0; /* 移除默認的上下外邊距 */font-weight: bold; /* 加粗 */color: white;/* 設置字體為楷體 */font-family: "楷體";}.navbar a {color: white; /* 鏈接顏色為白色 */text-decoration: none; /* 移除下劃線 */}/* 搜索表單樣式 */.search-form {display: flex;flex-wrap: nowrap;align-items: center;gap: 10px; /* 控件之間的間距 */margin: 20px 0;}.search-form input[type="text"], .search-form select {padding: 5px; /* 輸入框內邊距 */width: 260px; /* 寬度 */}.search-form button {padding: 5px 15px; /* 按鈕內邊距 */}/* 表格樣式 */table {width: 100%;border-collapse: collapse;}th, td {border: 1px solid #ddd; /* 邊框 */padding: 8px; /* 單元格內邊距 */text-align: center; /* 左對齊 */}th {background-color: #f2f2f2;font-weight: bold;}.avatar {width: 30px;height: 30px;}/* 頁腳樣式 */.footer {background-color: #b5b3b3; /* 灰色背景 */color: white; /* 白色文字 */text-align: center; /* 居中文本 */padding: 10px 0; /* 上下內邊距 */margin-top: 30px;}#container {width: 80%; /* 寬度為80% */margin: 0 auto; /* 水平居中 */}</style>
</head>
<body><div id="container"><!-- 頂部導航欄 --><div class="navbar"><h1>Tlias智能學習輔助系統</h1><a href="#">退出登錄</a></div><!-- 搜索表單區域 --><form class="search-form"><label for="name">姓名:</label><input type="text" id="name" name="name" v-model="searchForm.name" placeholder="請輸入姓名"><label for="gender">性別:</label><select id="gender" name="gender" v-model="searchForm.gender"><option value=""></option><option value="1">男</option><option value="2">女</option></select><label for="position">職位:</label><select id="position" name="position" v-model="searchForm.job"><option value=""></option><option value="1">班主任</option><option value="2">講師</option><option value="3">學工主管</option><option value="4">教研主管</option><option value="5">咨詢師</option></select><button type="button" v-on:click="search">查詢</button><button type="button" @click="clear">清空</button></form><!-- 表格展示區 --><table><!-- 表頭 --><thead><tr><th>序號</th><th>姓名</th><th>性別</th><th>頭像</th><th>職位</th><th>入職日期</th><th>最后操作時間</th><th>操作</th></tr></thead><!-- 表格主體內容 --><tbody><tr v-for="(e, index) in empList" :key="e.id"><td>{{index + 1}}</td><td>{{e.name}}</td><td>{{e.gender == 1?'男' : '女'}}</td><!-- 插值表達式是不能出現在標簽內部 --><td><img class="avatar"  v-bind:src="e.image" :alt="e.name"></td><!-- v-if: 控制元素的顯示與隱藏 --><td><span v-if="e.job == 1">班主任</span><span v-else-if="e.job == 2">講師</span><span v-else-if="e.job == 3">學工主管</span><span v-else-if="e.job == 4">教研主管</span><span v-else-if="e.job == 5">咨詢師</span><span v-else>其他</span></td><!-- v-show: 控制元素的顯示與隱藏 --><!-- <td><span v-show="e.job == 1">班主任</span><span v-show="e.job == 2">講師</span><span v-show="e.job == 3">學工主管</span><span v-show="e.job == 4">教研主管</span><span v-show="e.job == 5">咨詢師</span></td> --><td>{{e.entrydate}}</td><td>{{e.updatetime}}</td><td class="action-buttons"><button type="button">編輯</button><button type="button">刪除</button></td></tr></tbody></table><!-- 頁腳版權區域 --><footer class="footer"><p>江蘇傳智播客教育科技股份有限公司</p><p>版權所有 Copyright 2006-2024 All Rights Reserved</p></footer></div><script src="js/axios.js"></script><script type="module">import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'createApp({data() {return {searchForm: { //封裝用戶輸入的查詢條件name: '',gender: '',job: ''},empList: []}},//方法methods: {async search(){// 發送ajax請求,獲取數據// axios.get(`https://web-server.itheima.net/emps/list?name=${this.searchForm.name}&gender=${this.searchForm.gender}&job=${this.searchForm.job}`).then((result) => {//     this.empList = result.data.data;// })// console.log('===========================');let result = await axios.get(`https://web-server.itheima.net/emps/list?name=${this.searchForm.name}&gender=${this.searchForm.gender}&job=${this.searchForm.job}`);this.empList = result.data.data;},clear(){//清空表單項數據this.searchForm = {name:'', gender:'', job:''}this.search()}},//鉤子函數mounted(){//頁面加載完成之后,發送ajax請求,獲取數據this.search()}}).mount('#container')</script></body>
</html>

想要代碼從上往下執行:同步請求

由于異步請求會使得代碼不按從上往下的順序執行,所以在有些情況下需要將異步請求變成同步

用這種方法,不需要寫then和catch,直接用一個變量去接收await的結果即可,后續操作直接對變量進行操作即可

vue生命周期知識,請跳轉

vue的簡單使用-CSDN博客

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/906458.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/906458.shtml
英文地址,請注明出處:http://en.pswp.cn/news/906458.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Anti Spy安卓版:智能防護,守護手機安全

Anti Spy安卓版是一款專為安卓設備設計的智能防護應用&#xff0c;旨在幫助用戶實時防護手機安全&#xff0c;抵御間諜軟件、惡意軟件和其他潛在威脅。它基于人工智能和啟發式搜索方法的引擎&#xff0c;能夠檢測并阻止已知和未知的間諜軟件、后門程序、賬單欺詐、短信欺詐、電…

超低延遲音視頻直播技術的未來發展與創新

引言 音視頻直播技術正在深刻改變著我們的生活和工作方式&#xff0c;尤其是在教育、醫療、安防、娛樂等行業。無論是全球性的體育賽事、遠程醫療、在線教育&#xff0c;還是智慧安防、智能家居等應用場景&#xff0c;都離不開音視頻技術的支持。為了應對越來越高的需求&#x…

系統架構設計(十二):統一過程模型(RUP)

簡介 RUP 是由 IBM Rational 公司提出的一種 面向對象的軟件工程過程模型&#xff0c;以 UML 為建模語言&#xff0c;是一種 以用例為驅動、以架構為中心、迭代式、增量開發的過程模型。 三大特征 特征說明以用例為驅動&#xff08;Use Case Driven&#xff09;需求分析和測…

海康相機連接測試-極簡版

文章目錄 1、下載客戶端 1、下載客戶端 海康機器人官網下載軟件 軟件下載地址 先下載客戶端測試連接 按照你的相機的類型選擇客戶端 安裝完畢后&#xff0c;確保USB線插的是3.0的端口 軟件會自動識別相機型號 在上方有播放按鈕&#xff0c;可以采集圖像信息顯示

Linux 磁盤擴容實戰案例:從問題發現到完美解決

Linux 磁盤擴容實戰案例&#xff1a;從問題發現到完美解決 案例背景 某企業服務器根目錄 (/) 空間不足&#xff0c;運維人員通過 df -h 發現 /dev/vda1 分區已 100% 占滿&#xff08;99G 已用&#xff09;。檢查發現物理磁盤 /dev/vda 已擴展至 200G&#xff0c;但分區和文件…

深入解析FramePack:高效視頻幀打包技術原理與實踐

摘要 本文深入探討FramePack技術在視頻處理領域的核心原理&#xff0c;解析其在不同場景下的應用優勢&#xff0c;并通過OpenCV代碼示例演示具體實現方法&#xff0c;為開發者提供可落地的技術解決方案。 目錄 1. FramePack技術背景 2. 核心工作原理剖析 3. 典型應用場景 …

RVTools 官網遭入侵,被用于分發攜帶 Bumblebee 惡意軟件的篡改安裝包

VMware 環境報告工具 RVTools 的官方網站遭黑客入侵&#xff0c;其安裝程序被植入惡意代碼。安全研究人員 Aidan Leon 發現&#xff0c;從該網站下載的受感染安裝程序會側加載一個惡意 DLL 文件&#xff0c;經確認是已知的 Bumblebee 惡意軟件加載器。 官方回應與風險提示 RV…

mysql故障排查與環境優化

一、mysql運行原理 mysql的運行分為三層 客戶端和連接服務 核心服務功能&#xff08;sql接口、緩存的查詢、sql的分析和優化以及部分內置函數的執行等。&#xff09; 存儲引擎層&#xff08;負責mysql中數據的存儲和提取。&#xff09; 二、示例 1、實驗環…

Codex與LangChain結合的智能代理架構:重塑軟件開發的未來

??「炎碼工坊」技術彈藥已裝填! 點擊關注 → 解鎖工業級干貨【工具實測|項目避坑|源碼燃燒指南】 引言:當代碼生成遇見智能決策 想象以下場景: 凌晨三點:你需要緊急修復一個遺留系統的內存泄漏漏洞,但代碼注釋缺失且邏輯復雜; 產品經理需求變更:要求在24小時內將現有…

【開源Agent框架】CAMEL:角色扮演+任務分解

一、項目概覽:重新定義智能體協作范式 CAMEL(Communicative Agents for “Mind” Exploration of Large Language Model Society)是由camel-ai社區開發的開源多智能體框架,致力于探索智能體的規模法則(Scaling Laws)。該項目通過構建包含百萬級智能體的復雜社會系統,研…

第32節:基于ImageNet預訓練模型的遷移學習與微調

1. 引言 在深度學習領域,遷移學習(Transfer Learning)已經成為解決計算機視覺任務的重要方法,特別是在數據量有限的情況下。其中,基于ImageNet數據集預訓練的模型因其強大的特征提取能力而被廣泛應用于各種視覺任務。本文將詳細介紹遷移學習的概念、ImageNet預訓練模型的特…

celery獨立部署接入數據庫配置

目錄結構&#xff1a; config下配置&#xff1a; __init__: import os import sys sys.path.append(os.getcwd()) from celery import CeleryappCelery(celeryTester) # 創建一個Celery實例&#xff0c;名字自定義 app.config_from_object(config.celery_config) # 從celery_…

攻防世界-題目名稱-文件包含

進入環境 看到 include()&#xff0c;想到文件包含&#xff0c;用php偽協議 /?filenamephp://filter/readconvert.base64-encode/resourceflag.php do not hack!猜測可能是黑名單檢測的敏感字符 輸入單個字符串/?filenamebase64 還是顯示do not hack&#xff01; 構造payl…

MySQL高頻面試八連問(附場景化解析)

文章目錄 "為什么訂單查詢突然變慢了&#xff1f;"——從這個問題開始說起一、索引的生死時速&#xff08;必考題&#xff01;&#xff09;二、事務的"套娃"藝術三、鎖機制的相愛相殺四、存儲引擎的抉擇五、慢查詢的破案技巧六、分頁的深度優化七、高可用架…

Android 中 自定義生成的 APK/AAR 文件名稱

在 Kotlin DSL 中&#xff0c;可以通過配置 build.gradle.kts 文件來自定義生成的 APK 或 AAR 文件名稱。 1、自定義 APK 名稱 在模塊的 build.gradle.kts 中通過修改 applicationVariants.all 配置來實現。 android {......applicationVariants.all {outputs.all {val df …

《從零開始:Spring Cloud Eureka 配置與服務注冊全流程》?

關于Eureka的學習&#xff0c;主要學習如何搭建Eureka&#xff0c;將order-service和product-service都注冊到Eureka。 1.為什么使用Eureka? 我在實現一個查詢訂單功能時&#xff0c;希望可以根據訂單中productId去獲取對應商品的詳細信息&#xff0c;但是產品服務和訂單服…

鴻蒙開發進階:深入解析ArkTS語言特性與高性能編程實踐

一、前言 在鴻蒙生態蓬勃發展的當下&#xff0c;開發者對于高效、優質的應用開發語言需求愈發迫切。ArkTS 作為鴻蒙應用開發的核心語言&#xff0c;在繼承 TypeScript 優勢的基礎上&#xff0c;進行了諸多優化與擴展&#xff0c;為開發者帶來了全新的編程體驗。本文將深入剖析…

ARM-Linux 完全入門

1.準備部分 1.1 虛擬機安裝 準備VMware軟件、ubuntu系統鏡像安裝過程 VMware安裝 破解&#xff08;自己百度破解碼&#xff0c;多試幾個網址&#xff0c;會有能用的&#xff09;Ubuntu安裝 配置聯網 橋接 虛擬機Ubuntu系統必須能連接到外網&#xff0c;不然不能更新軟件安裝…

深度學習驅動下的目標檢測技術:原理、算法與應用創新(三)

五、基于深度學習的目標檢測代碼實現 5.1 開發環境搭建 開發基于深度學習的目標檢測項目&#xff0c;首先需要搭建合適的開發環境&#xff0c;確保所需的工具和庫能夠正常運行。以下將詳細介紹 Python、PyTorch 等關鍵開發工具和庫的安裝與配置過程。 Python 是一種廣泛應用于…

致敬經典 << KR C >> 之打印輸入單詞水平直方圖和以每行一個單詞打印輸入 (練習1-12和練習1-13)

1. 前言 不知道有多少同學正在自學C/C, 無論你是一個在校學生, 還是已經是上班族. 如果你想從事或即將從事軟件開發這個行業, C/C都是一個幾乎必須要接觸的系統級程序開發語言. 雖然現在有Rust更安全的系統級編程語言作為C/C的替代, 但作為入門, C應該還是要好好學的. C最早由B…