06 JQuery調用接口

文章目錄

  • 一、Qs.js庫介紹
    • 1. Qs簡介
    • 2. Qs.parse
    • 3. Qs.stringify
  • 二、jQuery調用接口
    • 1. 增加(Create)
    • 2. 刪除(Delete)
    • 3. 讀取(Read)
    • 4. 更新(Update)
  • 三、示例


一、Qs.js庫介紹

1. Qs簡介

Qs是一個url參數轉化(parse和stringify)的js庫。

  • 本地引入
<script src="qs-6.11.2.min.js"></script>
  • CDN引入
<script src="https://cdn.bootcdn.net/ajax/libs/qs/6.11.2/qs.min.js"></script>

2. Qs.parse

  • 字符串轉換為對象
<script>let params = "a=a1&b=b1&c=c1"console.log(Qs.parse(params))
</script>
  • 控制臺日志
    在這里插入圖片描述

3. Qs.stringify

  • 對象轉換為字符串
<script>let params = {a: "a1", "b": "b1", "c": "c1"}console.log(Qs.stringify(params))
</script>
  • 控制臺日志
    在這里插入圖片描述

二、jQuery調用接口

1. 增加(Create)

$.ajax({url: '/api/save',method: 'post',data: {name,status,},success(res) {console.log('數據創建成功');},error(error) {console.log(error);}
})

2. 刪除(Delete)

$.ajax({url: '/api/delete',method: 'post',data: {role_id: id},success(res) {console.log('數據刪除成功');},error(error) {console.log(error);}
})

3. 讀取(Read)

$.ajax({url: '/api/list',method: "post",data: Qs.stringify(data),success(res) {res.data.forEach(function (item, index) {// 數據處理})},error(error) {console.log(error);}
})

4. 更新(Update)

$.ajax({url: '/api/update',method: 'post',data: {role_id,name,status,},success(res) {console.log('數據更新成功');},error(error) {console.log(error);}
})

三、示例

在這里插入圖片描述

<!DOCTYPE html>
<html lang="en">
<head><title>Test</title><link rel="icon" href="data:;base64,="><meta charset="UTF-8"><meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js"></script><script src="https://cdn.bootcdn.net/ajax/libs/qs/6.11.2/qs.min.js"></script>
</head>
<style>table, th, td {border: 1px solid;border-collapse: collapse;text-align: center;line-height: 30px;width: 600px;margin-top: 20px;}.dialog {display: none;width: 100%;height: 200vh;background-color: rgba(0, 0, 0, 1);position: absolute;top: 0;left: 0;line-height: 50px;} .dialog .container {margin: 10;font-size: 18px;width: 60%;height: 300px;background-color: #ffffff;text-align: center;} 
</style><body><input type="text"><button id="search">查詢</button><button id="adddata">添加</button><table><thead><th>角色名稱</th><th>狀態</th><th>序號</th><th>操作</th></thead><tbody></tbody></table><!-- 添加和編輯框 --><div class="dialog"><div class="container"><div class="dialog_center"><div class="dialog_header">添加角色</div><div class="dialog_center" style="display:none;"><div>角色ID:<input type="text" name="role_id"></div></div><div class="dialog_center"><div>角色名稱:<input type="text" name="name"></div></div><div class="dialog_center"><div>狀態: 有效 <input type="radio" name="status" value="true">失效<input type="radio" name="status" value="false"></div></div><div class="dialog_center"><div>序號:<input type="text" name="sort"></div></div><div class="dialog_footer"><button class="submit">確定</button><button class="cancel">取消</button></div></div></div>
</body>
<script>var baseURL = "http://127.0.0.1:888/testmanage/api/testRole/"// 查詢按鈕$('#search').click(function () {$('tbody').empty();let temp = {name: $('input:first').val(),};$.ajax({url: baseURL + "list",method: "post",data: Qs.stringify(temp),success(res) {res.data.forEach(function (item, index) {var newTr =`<tr><td style="display:none;">${item.role_id}</td><td>${item.name}</td>	<td>${item.status}</td>	<td>${item.sort}</td>	<td><button class='toDelete' id='${item.role_id}'>刪除</button><button class='toEdit' obj='${JSON.stringify(item)}'>修改</button></td>	</tr>`$('tbody').append(newTr)})},error(error) {console.log(error);}})})// 添加按鈕$('#adddata').click(function () {$('.dialog').fadeIn()$('input[name=role_id]').val('')$('input[name=name]').val('')$('input[type=radio][value=true]').prop('checked', 'true')$('input[name=sort]').val('')})// 修改按鈕$('table tbody').on('click', '.toEdit', function () {$('.dialog_header').html('修改角色')$('.dialog').fadeIn()obj = $(this).attr('obj')obj = JSON.parse(obj)$('input[name=role_id]').val(obj.role_id)$('input[name=name]').val(obj.name)$('input[type=radio][value = ' + obj.status + ']').prop('checked', 'true')$('input[name=sort]').val(obj.sort)})// 添加和編輯框 取消按鈕$('.cancel').click(function () {$('.dialog').fadeOut()})// 添加和編輯框 確定按鈕$('.submit').click(function () {var role_id = $('input[name=role_id]').val()var name = $('input[name=name]').val()var status = $('input[type=radio]:checked').val()var sort = $('input[name=sort]').val()var saveupdate = 'update'if (role_id == '') {saveupdate = 'save'}$.ajax({url: baseURL + saveupdate,method: 'post',data: {role_id,name,status,sort,},success(res) {console.log(res);$('.dialog').fadeOut()$('#search').trigger('click')},error(error) {console.log(error);}})})// 刪除按鈕$('table tbody').on('click', '.toDelete', function () {var id = $(this).attr('id')$.ajax({url: baseURL + 'delete',method: 'post',data: {role_id: id},success(res) {$('#search').trigger('click')},error(error) {console.log(error);}})})// 打開頁面時查詢$('#search').trigger('click')
</script>
</html>

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

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

相關文章

代碼隨想錄算法訓練營 --- 第五十九天

今天同樣是單調棧&#xff0c;第二題很重要。 第一題&#xff1a; 簡介&#xff1a; 本題可以說和上一題很是相似&#xff0c;只是有一點不同&#xff0c;數組是循環的。本題有兩種巧妙地解法&#xff0c;都不難。 第一種方法&#xff08;也是第一個想出來的方法&#xff09…

創建自定義Docker鏡像:一步步指南

當創建自定義Docker鏡像時&#xff0c;Dockerfile是關鍵的一環。這篇博客將詳細介紹如何編寫一個Dockerfile&#xff0c;其中包含創建自定義應用程序所需的步驟和示例。讓我們開始吧&#xff1a; 創建自定義Docker鏡像&#xff1a;一步步指南 1. 了解Dockerfile Dockerfile是…

我的acer電腦U盤裝系統前BIOS設置及裝系統過程中的操作

1、開機長按F2進入BIOS設置 2、使能F12 3、調整boot順序&#xff0c;使USB啟動的優先級最高 4、按F10保存退出 5、插入U盤開機&#xff0c;boot選擇界面無需操作&#xff0c;等待幾秒&#xff0c;默認進入U盤系統 由于既使能了F12&#xff0c;又將U盤的優先級進調整到了最高&…

OpenVINS學習1——數據集配置與運行

前言 OpenVINS是基于MSCKF的開源VIO算法&#xff0c;有非常詳細的官網文檔可以學習使用&#xff0c;將來一段時間的主要實踐工作&#xff0c;就是深度掌握這份開源代碼。 https://docs.openvins.com/ 一、環境配置與Euroc數據集運行 我的環境是Ubuntu20.04&#xff0c;ROS1&a…

vue3中實現el-tree通過ctrl或shift批量選擇節點并高亮展示

一、看效果&#xff1a; 按住ctrl鍵實現單個多選 按住shift實現區間范圍多選 二、代碼&#xff1a; vue頁面 <template><el-treeclass"w100%":data"$.treeData"ref"treeTab…

Unity中Batching優化的靜態合批

文章目錄 前言一、靜態合批的規則1、模型使用同一個材質2、勾選靜態合批3、對于靜態合批后的Mesh頂點總數&#xff0c;不超過2^16^即可以使用同一批次&#xff0c;超過則會開啟一個新的批次4、對與使用同一材質的不同模型間&#xff0c;紋理貼圖的問題&#xff0c;我們可以通過…

數據可視化工具選擇:功能、易用性與安全性

作為一名數據可視化大屏設計師&#xff0c;我深知選擇一款合適的數據可視化工具對于提高工作效率和呈現效果的重要性。下面&#xff0c;我將從真正對我們數據可視化大屏設計師有用的角度為大家介紹選擇數據可視化工具的一些必要條件和要求。 1. 功能強大與靈活定制 首先&…

高并發場景下的httpClient使用優化技巧

1. 背景 我們有個業務&#xff0c;會調用其他部門提供的一個基于http的服務&#xff0c;日調用量在千萬級別。使用了httpclient來完成業務。之前因為qps上不去&#xff0c;就看了一下業務代碼&#xff0c;并做了一些優化&#xff0c;記錄在這里。 先對比前后&#xff1a;優化…

如何做好口譯服務,同傳和交傳哪個服務好

隨著中國經濟的蓬勃發展和綜合實力的不斷增強&#xff0c;中國與世界各國的交流也日益頻繁。口譯作為對外交流的橋梁與紐帶&#xff0c;需求量與日俱增&#xff0c;其重要性不言而喻。那么&#xff0c;如何做好口譯服務呢&#xff1f;是同傳還是交傳更好呢&#xff1f; 業內專家…

滲透測試工具AWVS的全面解析

在當今的數字化時代&#xff0c;網絡安全已經成為了企業和個人必須關注的重要問題。為了確保網絡的安全&#xff0c;我們需要使用各種工具和技術進行檢測和防護。其中&#xff0c;滲透測試是一種非常重要的方法&#xff0c;它可以幫助我們發現網絡中的安全漏洞&#xff0c;并采…

機器人純阻抗控制接觸剛性環境

問題描述 在機器人學中&#xff0c;阻抗控制是一種常用的控制策略&#xff0c;用于管理機器人在與環境交互時的運動和力。阻抗控制背后的關鍵概念是將環境視為導納&#xff0c;而將機器人視為阻抗。 純阻抗控制接觸剛性環境時&#xff0c;機器人的行為方式主要受其阻抗參數的…

表單小程序作用體現在哪

表單的用途非常廣泛&#xff0c;它是線上收集信息或用戶預約/需求服務的重要方式&#xff0c;對商家來說如今線上平臺非常多&#xff0c;生意開展的形式也越來越多&#xff0c;比如常見的預約、報名、收款、產品支付等都可以通過表單實現。 接下來啊讓我們看看通過【雨科】平臺…

家用智能門鎖——智能指紋鎖方案

智能指紋鎖產品功能&#xff1a; 1&#xff1a;指紋識別技術&#xff1a;光學傳感器、半導體傳感器或超聲波傳感器等。 2&#xff1a;指紋容量&#xff1a;智能指紋鎖可以存儲的指紋數量&#xff0c;通常在幾十到幾百個指紋之間。 3&#xff1a;解鎖時間&#xff1a;指紋識別和…

【力扣100】8.找到字符串中所有字母異位詞

添加鏈接描述 class Solution:def findAnagrams(self, s: str, p: str) -> List[int]:sildingstrresult[]p.join(sorted(p))for i in range(len(s)):if len(sildingstr)<len(p):sildingstrsildingstrs[i]# print(sildingstr)if len(sildingstr)len(p):sort_sildingstr.j…

Android開發常用工具類集合

目錄 DownloadGradleAPIsActivity 相關 -> ActivityUtils.java -> DemoAdaptScreen 相關 -> AdaptScreenUtils.java -> DemoApp 相關 -> AppUtils.java -> Demo欄相關 -> BarUtils.java -> Demo亮度相關 -> BrightnessUtils.java -> DemoBus 相關…

身份認證技術

身份認證是對系統的用戶進行有效性、真實性驗證。 1&#xff0e;口令認證方式 使用口令認證方式&#xff0c;用戶必須具有一個唯一的系統標識&#xff0c;并且保證口令在系統的使用和存儲過程中是安全的&#xff0c;同時口令在傳輸過程中不能被竊取、替換。另外特別要注意的是在…

解決:During handling of the above exception, another exception occurred

解決&#xff1a;During handling of the above exception, another exception occurred 文章目錄 解決&#xff1a;During handling of the above exception, another exception occurred背景報錯問題報錯翻譯報錯位置代碼報錯原因解決方法參考內容&#xff1a;今天的分享就到…

numpy數據讀取保存及速度測試

目錄 數據保存及讀取 速度比對測試 數據保存及讀取 代碼示例&#xff1a; # 導入必要的庫 import numpy as np # 生成測試數據 arr_disk np.arange(8) # 打印生成能的數據 print(arr_disk) # numpy保存數據到本地 np.save("arr_disk", arr_disk) # 加載本地數據…

排序算法-插入/希爾排序

1 插入排序 1.1基本思想&#xff1a; 直接插入排序是一種簡單的插入排序法&#xff0c;其基本思想是&#xff1a;把待排序的記錄按其關鍵碼值的大小逐個插入到一個已經排好序的有序序列中&#xff0c;直到所有的記錄插入完為止&#xff0c;得到一個新的有序序列 。 1.2直…

CentOS7.0 下rpm安裝MySQL5.5.60

下載 下載路徑: MySQL :: Download MySQL Community Server -->looking for the latest GA version-->5.5.60 此壓縮包中有多個rpm包 有四個不是必須的,只需安裝這三個 MySQL-server-5.5.60-1.el6.x86_64 MySQL-devel-5.5.60-1.el6.x86_64 MySQL-client-5.5.60-1.el6.x8…