Javascript reload()无效

时间:2012-05-25 03:53:54

标签: javascript function reload

我在这里到处搜索,因为很多人都在问这个问题,但不管怎样,我一直在undefined ...

function remove_item(itemid) {
    var window = top.location;
    var host = window.host;

    $.ajax({
        url: "http://"+host+"/backend/remove_lockbox.php?id="+itemid,
        success: function() {
            $(document).ajaxStop(function(){
                window.top.location.reload();
            });
        }
    });
}

这是我的代码。我尝试了window.location.reloadhost.location.reload ...我尝试了所有内容并且不断获得undefined ...位置的父级始终为undefined,无论是windowhostwindow.top,任何事情。 有人可以帮帮我吗?

2 个答案:

答案 0 :(得分:9)

所以你正在做

 var window = top.location;

而不是你

 window.top.location.reload();

所以你实际上在说

top.location.top.location.reload();

为什么在已经定义并具有不同含义的情况下使用名为window的变量?那很不好。

如果您正在使用框架,我希望看到类似

的内容
parent.location.reload(true);

或只是一个普通的旧窗口

window.location.reload(true);

答案 1 :(得分:1)

尝试这种方式,它在chrome中运行良好,因为我知道这应该适用于所有现代浏览器。

function remove_item(itemid) {

    var host = window.location.host;

    $.ajax({
        url: "http://"+host+"/backend/remove_lockbox.php?id="+itemid,
        success: function() {
            $(document).ajaxStop(function(){
                window.location.reload();
            });
        }
    });
}

以下是window.locationwindow.location.hostwindow.location.reload的工作示例。

http://jsbin.com/apemen/3