在jQuery.get()没有执行脚本之后的window.location.reload()

时间:2014-06-09 16:51:46

标签: javascript jquery

我有这个脚本:

function upvote() {
    $.get('includes/upvote.php?id=page1&name=HybridFox');
    window.location.reload();
    return false;
}

当我使用它时,脚本(包括/ upvote.php)没有被执行。但页面正在重新加载。 upvote.php包含一个将$_GET["name"]插入数据库

的php脚本

对不起,如果这是一个愚蠢的错误,我只是在忽视,但我真的不能解决错误

2 个答案:

答案 0 :(得分:0)

您需要等待请求完成。 jQuery在页面卸载时中止所有挂起的XMLHttpRequest以避免IE中的内存泄漏。演示http://jsfiddle.net/tarabyte/h75Ky/2/

function upvote() {
    $.get('includes/upvote.php?id=page1&name=HybridFox').always(function(){
        window.location.reload();
    });

    return false;
}

答案 1 :(得分:0)

怎么样:

$.ajax({
  url: "includes/upvote.php",
  type: "POST",
  data: { id: page1, name: HybridFox },
}).done(function( html ) {
    $( "SOMEDIV" ).append( html );
  });

至少这就是我做的方式,因为我认为你会想要结果。我现在正在使用我的手机,因此代码未经测试,但可以在我回家时检查。