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.reloadた、host.location.reload...私はすべてを試しました、そして私は得続けundefinedます...場所の親はそれが、、、、何かでundefinedあるかどうか常にです。誰かが私を助けてくれますか?windowhostwindow.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.hostwindow.location.reload

http://jsbin.com/apemen/3

于 2012-05-25T04:13:14.170 に答える