1

我有一个通过.load()另一个页面的 div 加载的页面,例如:

$(".page_div").load("otherpage.aspx .wrapper");

我想otherpage.aspx通知父页面发生的事件,我该怎么做?

4

3 回答 3

1

查看查询字符串!如果您想将信息从一个页面传递到下一个页面,通常最好的方法是将信息附加到您传递的 URL 中。

从技术上讲,您也可以使用 cookie 或会话,但这些涉及信息的创建而不是信息的“说”。

于 2012-09-29T20:08:33.333 回答
0

我认为这里有一个混淆。不能说您是在进行 ajax 调用还是进行页面转换。

  • 使用查询字符串进行页面转换。
  • 如果您正在进行信息已可用的 ajax 调用,请在服务器调用返回后将调用的回调函数中使用它。

根据我在 api 页面上阅读的内容,可以使用 jQuery.load 进行 ajax 调用。

http://api.jquery.com/load/

编辑:

我不熟悉网络套接字,但是可以像这样实现类似的东西。

从第 2 页开始,您在事件发生时更新数据库条目

从第一页开始,您通过 ajax 轮询数据库中的更改。

当用户从不同的选项卡发送新电子邮件并且您的电子邮件发送列表会自动更新时,您会注意到 Gmail 中的类似行为。

于 2012-09-29T20:17:09.583 回答
0

当您通过 jQuery.load() 加载页面时,它可以包含一个脚本元素。该脚本元素中的任何 JavaScript 都将在页面加载后执行,并且因为它位于父文档中,所以它可以完全访问父 JavaScript。这意味着它可以调用父文档创建的 JavaScript 方法。我会在父文档中创建一个类似 loadCallback() 的方法,然后使用 JavaScript loadCallback({some: data}) 添加一个脚本元素,这会将数据从加载的页面传递到父页面。这是 vanilla JavaScript,因此您可以传递数据、函数等任何内容。

于 2012-09-30T05:21:18.457 回答