我正在使用名为Thumbs Up的PHP投票脚本http://codecanyon.net/item/thumbsup/full_screen_preview/50411。我是PHP的新手,除了显示投票之外,一切都很好。
投票后,数据库会更新,并且会有一个更新投票数的回发。我已经尝试了多种方式来显示结果,但它一直在返回NaN。如果我重新加载页面,则值会成功显示。
我在点击时加载结果表并尝试返回结果,但我没有运气。我遍历<li>
并将结果存储在一个数组中。
这将返回NaN而不是值。如果我重新加载页面,那么值就会更新并更新。似乎php回发有一个延迟,导致这个问题。我确实尝试在ajax调用中添加延迟,但它仍然返回NaN。
代码:
我正在存储每个结果并将值存储在数组中
var resultVoteOne = voteOneDigit / total * 100;
var arrValues = [resultVoteOne]
我在条形图中显示结果:
$('.extras_result p.vote1 span').append(arrValues[0] + '%');
$(".extras_result").each(function() {
var length = $(this).find("span").html();
$(this).find("p").animate({'width':length}, 1000, function() {
$(this).find("span").fadeIn(800);
});
});
如果我在成功投票后重新加载页面。
点击后我尝试使用ajax来更新值,但仍然没有运气:(
$('.containers input').on('click', function() {
$.ajax({
url:'results.php',
cache:false,
success: function(response) {
$('.voteResults').html(response);
}
});
});
我很感激这个问题的任何帮助。
答案 0 :(得分:0)
首先在ajax方法中使用async:false 这可以解决你的问题只是在显示它之前将voteRequest空白
$('.voteResults').html('');
$('.voteResults').html(response);
无论通过ajax发生什么都转换为字符串,所以你必须在javascript中进行类型转换才能将它用作数字计算,否则它会给你结果NaN