6

因为有这么多人问这个问题,所以我在这里到处搜索,但无论如何,我不断得到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是它是否是、、、、window任何东西。有人可以帮帮我吗?hostwindow.top

4

2 回答 2

14

所以你在做

 var window = top.location;

而且比你做的

 window.top.location.reload();

所以你实际上是在说

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

既然已经定义了变量并且具有不同的含义,为什么还要使用名为 window 的变量?那很不好。

如果您使用的是框架,我希望看到类似

parent.location.reload(true);

或者只是一个普通的旧窗户

window.location.reload(true);
于 2012-05-25T04:13:23.827 回答
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.location,window.location.host和的工作示例window.location.reload

http://jsbin.com/apemen/3

于 2012-05-25T04:13:14.170 回答