电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

利用promise及參數解構封裝ajax請求的方法

瀏覽:266日期:2022-06-11 15:39:48
目錄
  • 1.前端代碼
  • 2.后端代碼
  • 3.注:

1.前端代碼

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body> <script> /**  * type: get/post  * url: http://localhost:3000 http://localhost:3000/details http://localhost:3000/users  * data: lid=5 / uname=lili&upwd=123456  * dataType: "" / "json", 如果服務端返回的是json格式字符串,就通過dataType通知ajax函數自動轉換為對象  * **/ ajax({  type: "get",  url: "http://localhost:3000",  dataType: "json" }) // data 不寫在解構時值默認為 data: undefined ajax({  type: "get",  url: "http://localhost:3000/details",  data: "lid=0",  dataType: "json" }) ajax({  type: "post",   url: "http://localhost:3000/users",   data: "uname=lili&upwd=123456", }).then(function(res){  alert(res) }) // dataType 不寫在解構時值默認為 dataType: undefined function ajax({type, url,data, dataType}){  return new Promise(function(open){  var xhr = new XMLHttpRequest()  xhr.onreadystatechange = function(){   if(xhr.readyState === 4 && xhr.status === 200){   if(dataType === "json"){    var res = JSON.parse(xhr.responseText)   }else{    var res = xhr.responseText   }   console.log(res)   open(res)   }  }  if(type === "get" && data !== undefined){   url += `?${data}`  }  xhr.open(type, url, true)  xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded")  if(type === "get"){   xhr.send()  }else{   xhr.send(data)  }  }) } </script></body></html>

另:ajax實際代碼實現如下

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body> <script> var xhr = new XMLHttpRequest() xhr.onreadystatechange = function(){  if(xhr.readyState === 4 && xhr.status === 200){  console.log(xhr.responseText)  } } xhr.open("get", "http://localhost:3000", true) xhr.send() </script></body></html>

2.后端代碼

1) 創建一個后端項目

2) 在routes下創建index.js,users.js,代碼如下

// index.jsvar express = require("express");var router = express.Router();/* GET home page. */var products = [ { lid:1, pname:"筆記本", price:3400 }, { lid:2, pname:"手機", price:5400 }, { lid:3, pname:"iPad", price:6400 }]router.get("/", function(req, res, next) { res.send(products)});router.get("/details", function(req, res, next){ var lid = req.query.lid res.send(products[lid])})module.exports = router;
// user.jsvar express = require("express");var router = express.Router();/* GET users listing. */router.post("/", function(req, res, next) { var uname = req.body.uname var upwd = req.body.upwd if(uname === "lili" && upwd === "123456"){ res.send("登陸成功") }else{ res.send({  code: 0,  message: "用戶名或密碼錯誤" }) }});module.exports = router;

3.注:

為避免跨域,可將前端代碼和后端同時放在一個項目內,使用同一地址,再發送請求調取接口

到此這篇關于利用promise及參數解構封裝ajax請求的文章就介紹到這了,更多相關promise封裝ajax請求內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: Ajax
主站蜘蛛池模板: 北京森语科技有限公司-模型制作专家-展览展示-沙盘模型设计制作-多媒体模型软硬件开发-三维地理信息交互沙盘 | SDI车窗夹力测试仪-KEMKRAFT方向盘测试仪-上海爱泽工业设备有限公司 | 低合金板|安阳低合金板|河南低合金板|高强度板|桥梁板_安阳润兴 北京租车牌|京牌指标租赁|小客车指标出租 | 丹佛斯变频器-丹佛斯压力开关-变送器-广州市风华机电设备有限公司 | 天津力值检测-天津管道检测-天津天诚工程检测技术有限公司 | 工业车间焊接-整体|集中除尘设备-激光|等离子切割机配套除尘-粉尘烟尘净化治理厂家-山东美蓝环保科技有限公司 | 北京网站建设-企业网站建设-建站公司-做网站-北京良言多米网络公司 | 广东机电安装工程_中央空调工程_东莞装饰装修-广东粤标建设有限公司 | Brotu | 关注AI,Web3.0,VR/AR,GPT,元宇宙区块链数字产业 | 耐腐蚀泵,耐腐蚀真空泵,玻璃钢真空泵-淄博华舜耐腐蚀真空泵有限公司 | 太平洋亲子网_健康育儿 品质生活 | 首页_中夏易经起名网| 泰安办公家具-泰安派格办公用品有限公司 | 硅PU球场、篮球场地面施工「水性、环保、弹性」硅PU材料生产厂家-广东中星体育公司 | 【ph计】|在线ph计|工业ph计|ph计厂家|ph计价格|酸度计生产厂家_武汉吉尔德科技有限公司 | atcc网站,sigma试剂价格,肿瘤细胞现货,人结肠癌细胞株购买-南京科佰生物 | 选宝石船-陆地水上开采「精选」色选机械设备-青州冠诚重工机械有限公司 | HYDAC过滤器,HYDAC滤芯,现货ATOS油泵,ATOS比例阀-东莞市广联自动化科技有限公司 | 回转支承-转盘轴承-回转驱动生产厂家-洛阳隆达轴承有限公司 | 山东钢衬塑罐_管道_反应釜厂家-淄博富邦滚塑防腐设备科技有限公司 | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | FAG轴承,苏州FAG轴承,德国FAG轴承-恩梯必传动设备(苏州)有限公司 | 超声波清洗机-超声波清洗设备定制生产厂家 - 深圳市冠博科技实业有限公司 | 超声波清洗机-超声波清洗设备定制生产厂家 - 深圳市冠博科技实业有限公司 | 全自动面膜机_面膜折叠机价格_面膜灌装机定制_高速折棉机厂家-深圳市益豪科技有限公司 | 搪瓷搅拌器,搪玻璃搅拌器,搪玻璃冷凝器_厂家-淄博越宏化工设备 | 珠宝展柜-玻璃精品展柜-首饰珠宝展示柜定制-鸿钛展柜厂家 | 361°官方网站| DDoS安全防护官网-领先的DDoS安全防护服务商| 聚丙烯酰胺_阴离子_阳离子「用量少」巩义亿腾厂家直销,售后无忧 聚合甘油__盐城市飞龙油脂有限公司 | 奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌 | uv机-uv灯-uvled光固化机-生产厂家-蓝盾机电 | 蜗轮丝杆升降机-螺旋升降机-丝杠升降机厂家-润驰传动 | 罗氏牛血清白蛋白,罗氏己糖激酶-上海嵘崴达实业有限公司 | DWS物流设备_扫码称重量方一体机_快递包裹分拣机_广东高臻智能装备有限公司 | 阻燃剂-氢氧化镁-氢氧化铝-沥青阻燃剂-合肥皖燃新材料 | 翻斗式矿车|固定式矿车|曲轨侧卸式矿车|梭式矿车|矿车配件-山东卓力矿车生产厂家 | 溶氧传感器-pH传感器|哈美顿(hamilton)| 上海瑶恒实业有限公司|消防泵泵|离心泵|官网 | 专业深孔加工_东莞深孔钻加工_东莞深孔钻_东莞深孔加工_模具深孔钻加工厂-东莞市超耀实业有限公司 | 踏板力计,制动仪,非接触多功能速度仪,逆反射系数测试仪-创宇 |