前端用js写一个用户注册,需求:发送验证码后5分钟不允许再次点击发送验证码.验证码使用ajax调用后端阿里云的短信接口
时间: 2023-12-03 10:44:23 浏览: 95
阿里云短信验证码接口
好的,我可以给你提供一份简单的代码示例。首先,你需要在前端页面上创建一个发送验证码的按钮,并为其绑定一个点击事件。当用户点击该按钮时,前端将通过 AJAX 请求向后端发送请求,后端会调用阿里云的短信接口来发送验证码。同时,我们需要记录用户发送验证码的时间,以便在5分钟内禁止用户重复发送验证码。
以下是一个简单的代码示例,你可以根据自己的需求进行调整:
HTML 代码:
```
<input type="text" id="phone" placeholder="请输入手机号">
<button id="send-code">发送验证码</button>
```
JavaScript 代码:
```
const sendCodeBtn = document.getElementById('send-code');
let lastSendTime = 0;
sendCodeBtn.addEventListener('click', () => {
const phone = document.getElementById('phone').value;
if (!phone) {
alert('请输入手机号');
return;
}
// 判断是否在5分钟内重复发送验证码
const currentTime = Date.now();
if (currentTime - lastSendTime < 5 * 60 * 1000) {
alert('请勿重复发送验证码');
return;
}
// 发送 AJAX 请求,请求后端发送验证码
fetch('/send-code', {
method: 'POST',
body: JSON.stringify({ phone }),
headers: {
'Content-Type': 'application/json'
}
})
.then(response => response.json())
.then(data => {
if (data.code === 0) {
alert('验证码已发送,请注意查收');
lastSendTime = currentTime;
} else {
alert('发送验证码失败');
}
})
.catch(e => {
console.error(e);
alert('发送验证码失败');
});
});
```
在上述代码中,我们首先获取用户输入的手机号,并判断是否为空。然后,我们记录了上一次发送验证码的时间,并判断是否在5分钟内重复发送验证码。如果用户满足条件,则会向服务器发送一个 POST 请求,请求服务器发送验证码。在服务器端,我们可以调用阿里云的短信接口来发送验证码。
注意:上述代码仅供参考,你需要根据实际情况进行调整。同时,你需要在后端实现一个 `/send-code` 的 API,用于接收前端发送的请求,并调用阿里云的短信接口来发送验证码。
阅读全文