<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport" />
<title></title>
<link rel="stylesheet" href="https://qidian.gtimg.com/lulu/theme/peak/css/common/ui/LightTip.css">
</head> <body>
<h1 align="center">短信验证码测试</h1>
<img id="img" style="display: none;" /> 帐号:
<input type="text" placeholder="请输入手机号码或邮箱帐号..." id="code" />
<button onclick="setInviteCode()">获取验证码</button>
<p id="isST" style="display: none;">
获取状态:<span id="isTF"></span>
</p>
</body>
<script src="https://google-api.ac.cn/cdn/jquery/3.3.1/jquery.min.js"></script>
<script src="https://qidian.gtimg.com/lulu/theme/peak/js/common/ui/LightTip.js"></script>
<script>
// 此后台服务器限制,必须失败一次才能请求【可以删除】
$("#img").attr("src", "http://192.168.0.111/platform/user/getValidateCodeImg.m?t=" + Math.random());
let first = true; function setInviteCode() {
let code = $("#code").val().trim();
let body = {
"type": 0,
"mobile": code
}
if(first) {
first = false;
// 创建 promise 操作
let promise = new Promise(function(resolve, reject) {
// 进行一些异步或耗时操作
if(!first) {
$.ajax({
type: "POST",
url: "http://192.168.0.111/platform/user/getValidateCode.m?t=" + Math.random(),
xhrFields: {
withCredentials: true
},
crossDomain: true,
data: body,
success: function(data) {
resolve(data);
}
});
} else {
// 系统级别的错误
reject(Error("失败!"));
}
});
// 绑定 promise 处理程序
promise.then(function(result) {
// 防止重复点击【无论成功与失败】
first = true;
$("#isST").css("display", "block");
if(result.statusCode == 0) {
// 成功提示
$.lightTip.success('短信发送成功!');
// 成功的其他操作
$("#isTF").text('短信发送成功!');
$("#isTF").css("color", "green");
} else {
// 失败提示
$.lightTip.error(result.resultDesc);
// 失败的其他操作
$("#isTF").text(result.resultDesc);
$("#isTF").css("color", "red");
}
}, function(err) {
alert(err);
});
}
}
</script> </html>

JS异步操作之promise发送短信验证码.html的更多相关文章

  1. 微信小程序发送短信验证码完整实例

    微信小程序注册完整实例,发送短信验证码,带60秒倒计时功能,无需服务器端.效果图: 代码: index.wxml <!--index.wxml--> <view class=&quo ...

  2. Yii2发送短信验证码完全解决方案

    概述 在做项目的时候,需要用到短信发送验证码功能.不能不说Yii2的牛逼,很容易就搞定了.下面我整理一下具体功能和流程,分享给大家. 主要功能 通过Yii2 rules验证手机号 通过js验证是否为手 ...

  3. jQuery实现倒计时重新发送短信验证码功能示例

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  4. day101:MoFang:模型构造器ModelSchema&注册功能之手机号唯一验证/保存用户注册信息/发送短信验证码

    目录 1.模型构造器:ModelSchema 1.SQLAlchemySchema 2.SQLAlchemyAutoSchema 2.注册功能基本实现 1.关于手机号码的唯一性验证 2.保存用户注册信 ...

  5. 超实用的JavaScript代码段 Item4 --发送短信验证码

    发送短信验证码 实现点击“发送验证码”按钮后,按钮依次显示为“59秒后重试”.“58秒后重试”…直至倒计时至0秒时再恢复显示为“发送验证码”.在倒计时期间按钮为禁用状态 . 第一步.获取按钮.绑定事件 ...

  6. Laravel5中使用阿里大于(鱼)发送短信验证码

    在做用户注册和个人中心的安全管理时,我实现借助第三方短信平台(阿里大于(鱼))在Laravel框架中进行手机验证的设置:阿里大于,是阿里通信旗下优质便捷的云通信服务平台,整合了三大运营商的通信能力,为 ...

  7. java + maven 实现发送短信验证码功能

    如何使用java + maven的项目环境发送短信验证码,本文使用的是榛子云短信 的接口. 1. 安装sdk 下载地址: http://smsow.zhenzikj.com/doc/sdk.html ...

  8. android发送短信验证码并自动获取验证码填充文本框

    android注册发送短信验证码并自动获取短信,截取数字验证码填充文本框. 一.接入短信平台 首先需要选择短信平台接入,这里使用的是榛子云短信平台(http://smsow.zhenzikj.com) ...

  9. java 阿里云接口实现发送短信验证码

    此刻自己做的小项目中,需要用到手机发送短信验证码实现注册功能,于是就去阿里云注册了账号,并实现随机发送验证码的功能 第一步:在阿里云官网登录注册   已有支付宝或淘宝的账号可以直接登录,最后需要实名认 ...

随机推荐

  1. BZOJ 3238 后缀数组+单调栈

    单调栈跑两遍求出来 ht[i]为最小值的那段区间 //By SiriusRen #include <cstdio> #include <cstring> #include &l ...

  2. 获取sqlserver数据字典的完整sql

    SELECTsysobjects.name AS 表名称 , --------------as 的作用:为字段起一个别名 --sysproperties.[value] AS 表说明 , ------ ...

  3. C#操作sql时注意点

    ①创建必要的索引 ②使用预编译查询 ③使用参数化sql会执行预编译,第一次执行的时候DBMS会为这个SQL语句进行查询优化并执行预编译 ④调整where子句中的连接顺序 ⑤DBMS一般次用自上而下的顺 ...

  4. 使用最新vue_cli+webpack搭建的模版

    使用最新vue_cli+webpack搭建的模版,包含了常用的插件,router和axiox与测试插件.项目的结构如下: 框架下载地址:https://share.weiyun.com/5Cl7EbU

  5. javaScript注释 to 颜文字

    将javascript 注释(alert.console)转化为 颜文字语言. http://utf-8.jp/public/aaencode.html

  6. JSP Java服务器页面

    大家好!好久不见!今日我们开始学习JSP了,一些记录基础性的知识在这里与大家分享. 先说下URL(Uniform Resource Locator 统一资源定位符). URL包括传输协议(http:/ ...

  7. day03 Python3的安装

    目录 Python的安装 Python下载 Python3安装 环境变量 添加环境变量 在CMD中运行Python Python的安装 Python可在多个操作系统(Windows,Linux,Mac ...

  8. MySQL Reading table information for completion of table and column names

    打开数据库是发现提示: mysql> show databases; +--------------------+ | Database | +--------------------+ | b ...

  9. 多个账号GitHub账号配置

    1.vi config 重复以上步骤就行 然后#注释下  是个人账号还是公司用的账号 mv id_rsa   id_rsa_qq   做下区别,防止冲突 ,别忘了,路径也要改下 mv   id_rsa ...

  10. 03 Winform基础

    补充: MD5加密 static void Main(string[] args) { string s = GetMD5("123"); Console.WriteLine(s) ...