• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 利用promise及参数解构封装ajax请求的方法

利用promise及参数解构封装ajax请求的方法

作者:站长图库 字体:[增加 减小] 来源:互联网

站长图库向大家介绍了promise,参数解构,封装ajax请求等相关知识,希望对您有所帮助

这篇文章主要介绍了利用promise及参数解构封装ajax请求的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

1、前端代码

<!DOCTYPE html><html><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: undefinedajax({    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: undefinedfunction 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><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;

3、注:

为避免跨域,可将前端代码和后端同时放在一个项目内,使用同一地址,再发送请求调取接口。



分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 利用promise及参数解构封装ajax请求的方法

相关文章

  • 帝国CMS7.5使用TAGSID实现伪静态调用方法
  • Uniapp中怎么使用scrpll-view组件实现下拉刷新
  • CDR绘制红色枫叶背景插画
  • 外链和内链的设计你知道多少呢
  • 织梦怎么去掉index.html
  • PHP怎么将整数转为浮点数类型
  • 10分钟一步步带你看完最常用的git命令
  • php中get_object_vars()在数组的实例用法
  • Photoshop制作洁白的云朵艺术字教程
  • Photoshop设计立体效果的网站推荐图标

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • PHP如何接入微信支付分(代码示例)
    • Illustrator CS5绘制逼真的红辣椒教程
    • 解决Ajax方式上传文件报错"Uncaught TypeError: Illegal invocation"
    • PHPCMS邮箱不能发送邮件?
    • Bootstrap模态窗中如何从远程加载内容?remote方法介绍
    • Thinkphp5中验证器的使用方法
    • Photoshop制作颓废效果的金属立体字教程
    • 插件highcharts在thinkphp中的使用
    • 苹果cms播放器无法全屏修复方法
    • 12点网站优化实战经验分享

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有