我正在进行ajax调用以更新引导进度条,并且在成功进行AJAX调用时我有:
$(function () {
var percent = data['minutes'] / 30 * 100;
$('#progressbarr').html("<div class='bar' id='progressbar' style='width: "+ percent +"%;'></div>");
}
现在,我知道数据['minutes']返回一个数字,我在其他地方使用它,来自同一个ajax调用,但是当我做包含该数据数组的数学运算时,我得到的不是数字????
我100%确定数据['minutes']返回一个数值
编辑1
所有JS
setInterval(function(){
$.ajax({
type: "POST", // Can be "GET"
url: "ajax.php",
data: {
},
dataType: "json",
success: function (data) //on recieve of reply
{
$(function () {
var timeMinutes = data['minutes']; //get comment to post
var percent = parseInt(data['minutes']) / 30 * 100;
$('#progressbarr').html("<div class='bar' id='progressbar' style='width: "+ percent +"%;'></div>");
$('#tid').html(timeMinutes);
});
}
});
}, 3000);
所有PHP
$ip = $_SERVER['REMOTE_ADDR'];
$query = "SELECT * FROM `login_attempts` WHERE ip = '$ip'";
$result = mysqli_query($con, $query);
while ($row = mysqli_fetch_array($result)) {
$banned = $row['date'];
}
$start_date = new DateTime($today);
$since_start = new DateTime($banned);
$interval = $start_date->diff($since_start);
$minutes = $interval->days * 24 * 60;
$minutes += $interval->h * 60;
$minutes += $interval->i;
$TTL['minutes'] = 30-$minutes;
echo json_encode($TTL);
答案 0 :(得分:0)
首先尝试使用以下内容将其强制为数字类型:
var percent = parseInt(data['minutes']) / 30 * 100;
答案 1 :(得分:0)
你的ajax回调周围有$()
,删除它,一切都应该有效。
失败的jsfiddle(基于你的代码):http://jsfiddle.net/potatosalad/fnjMM/1/
工作jsfiddle(没有$()
):http://jsfiddle.net/potatosalad/fnjMM/2/