【问题标题】:AJAX post from within iFrame to refresh parent page来自 iFrame 的 AJAX 发布以刷新父页面
【发布时间】:2013-08-20 22:17:48
【问题描述】:

我有一个在 iFrame 中调用的 JS 函数,它执行到我的服务器的帖子,然后假设刷新 iFrame 的父页面。当我单击第三方网站上的按钮时,隐藏的 div 会使用我的 iframe 呈现。提交帖子后,我想刷新页面(第 3 方)页面。

所以该网站的当前设置(这是第三方,我无法控制他们的代码)是这样的:

  • 身体
  • div
  • div
  • div
  • 表格
  • tr
  • 我的 iframe
  • ....

所以附加到我的 jQuery ajax POST 调用的代码是这样的:

    .....
    xhtml.append("}).done(function() { alert('im here'); window.location.reload(false);});");
    xhtml.append("}");
    .....

我不想显示所有代码 - 但我可以确认帖子中的 done 回调被正确调用并且页面确实看起来“刷新” - 但它应该像我第一次进入页面一样对待它,我的 iframe 已关闭。

我如何几乎重新加载页面/css/等?我认为这可行,但似乎不行。

--编辑--

我意识到添加 reload(true) 将在初始请求时重新加载服务器。但是,呈现的其他内容(以查看隐藏的 div)似乎无法正确重新加载。它会留下隐藏的 div。

--编辑 2--

看起来像 window.location.reload(false);不是浏览器刷新调用的真正“副本”。这正是我想要的。

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    而不是说 window.location.reload

    尝试使用 window.parent.location.reload

    上述选项仅适用于 IFrame 的页面和内容都托管在同一域上的情况。

    【讨论】:

    • 没有任何反应:访问属性“重新加载”的权限被拒绝
    • 看起来 iframe 的内容来自不同的域。在这种情况下,您将获得权限被拒绝。
    • 看看这个其他帖子中的任何解决方案是否可以帮助你stackoverflow.com/questions/2161388/…
    猜你喜欢
    • 2012-09-09
    • 2011-04-28
    • 2013-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-02
    • 2011-11-15
    相关资源
    最近更新 更多