如何使用 AJAX 实现转盘抽奖功能并将结果传递给 PHP 服务器?
转盘抽奖
问题:如何实现转盘抽奖功能,并通过 ajax 将抽奖结果传递到 php 服务器?
回答:
首先,我们需要修改你提供的代码,以便能够通过 ajax 向服务器发送请求。
前端 javascript 代码:
$(function() { var $rotaryarrow = $('#rotaryarrow'); var $result = $('#result'); var $resulttxt = $('#resulttxt'); var $resultbtn = $('#resultbtn'); $rotaryarrow.click(function() { var data = [0, 1, 2, 3, 4, 5, 6, 7]; data = data[math.floor(math.random()*data.length)]; $.ajax({ url: 'lottery.php', type: 'post', data: { data: data }, success: function(response) { var result = parseint(response); rotatefunc(result); } }); }); var rotatefunc = function(awards) { $rotaryarrow.stoprotate(); $rotaryarrow.rotate({ angle: 0, duration: 5000, animateto: awards * 45 + 1440, callback: function() { $resulttxt.text(awards); $result.show(); } }); }; $resultbtn.click(function() { $result.hide(); }); });
php 代码:
<?php if (isset($_POST['data'])) { $data = $_POST['data']; // 执行抽奖逻辑,并返回获奖结果 $result = rand(1, 7); } echo $result; ?>
说明:
- 前端 javascript 代码通过 ajax 向服务器发送当前的随机数 data。
- php 代码接收到 data,执行抽奖逻辑,并将获奖结果 result 作为响应返回给前端。
- 前端 javascript 代码根据 result 转动轮盘,显示中奖结果。