使用jQuery .load()将一个页面的脚本部分加载到另一个页面中

时间:2016-06-08 21:09:16

标签: javascript php jquery html

我有一个div,其内容是我在一个页面上使用jQuery生成的(我只是将其称为第1页),我想加载到第2页:

<div id="latestNews">
  <h4>Latest News</h4>
  <ul>
    <!--Section automatically loaded here and to homepage -->
  </ul>
</div>

第1页 div包含使用此代码制作的5篇最新文章的链接列表:

var $latestNews = $("#$latestNews ul");
var $titles = $("h3");

$titles.each( function( index, element ){
          var i = index + 1;
          if (i > 5) { return false; }

          var text = "<li> <a href='$url'>" + $(element).text() + "</a> /li>";

          $latestNews.append(text);   
});

第2页,这是主页,我想加载相同的div(并且只有div),但也保留附加到它的脚本。否则,它会加载div及其内容而不创建列表项。

$homelines.load("http://.../Page1.php #latestEntries");

如果Javascript / jQuery中有任何解决方案,请告诉我。第1页和第2页都是PHP语言,所以如果有PHP替代方案,我也会对它开放。

1 个答案:

答案 0 :(得分:1)

实际上,您没有将新内容添加到第一个PHP页面 - 您将其添加到DOM。区别在于页面存储在Web服务器上,而DOM存在于虚拟空间中。

要将数据传输到第二页,您有几个选项。

(1)如果您使用按钮前进到下一页,该按钮可以从DOM中获取添加的内容,创建包含新数据的<form>构造,并post到第2页。第2页可以抓取传输的数据并在创建DOM时对其进行渲染。 注意:其他访问者无法使用此数据。

(2)您可以将添加的内容存储在MySQL数据库表中。现在它可以在第2页上显示,适用于所有用户和将来的访问者。

要存储(MySQL)添加的内容,您将

(a)use a <form> construct与选项(1)中的不同之处在于您将页面重定向到中间页面,该页面将数据再次重定向到第2页之前将数据写入MySQL,或者

(b)使用AJAX - 这比听起来简单得多。 Here is a post包含一些简单的AJAX示例。