在PHP提交后发出显示值的问题

时间:2013-02-10 21:39:38

标签: php jquery ajax nan

我正在使用名为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);
    }
    });
});

我很感激这个问题的任何帮助。

1 个答案:

答案 0 :(得分:0)

首先在ajax方法中使用async:false 这可以解决你的问题只是在显示它之前将voteRequest空白

$('.voteResults').html('');
$('.voteResults').html(response);

无论通过ajax发生什么都转换为字符串,所以你必须在javascript中进行类型转换才能将它用作数字计算,否则它会给你结果NaN