在ajax中发送html+JS

send html + JS in ajax

本文关键字:html+JS ajax      更新时间:2023-09-26

im使用jQuery load()方法将另一个html发送到我的网页。正在加载的html包含Javascript生成的html。

我用这个函数来加载html:

$(document).ready(function(){
    $("img#links").click(function(){
      $("div#content").load("links.html");
    });
  });

links.html包含:

<h1 id="content">Links</h1>
<br>
<script>add_link("http://google.com");</script>

add_link函数为我生成一个表:

var add_link = function(link) {
  document.write("<table border='"0'" width='"100%'" height='"50'" id='"link'">");
  document.write("<tr>");
  document.write("<td width='"50'"><img src='"img/star.png'" /></td>");
  document.write("<td><a href='"" + link + "'"><div class='"link'">" + link + "</div></a></td></tr></table>");
}

然而,当被调用时,它不会将js生成的代码写入网页,而是被写入一个空白页面,其中只包含js生成的表。

页面加载完成后调用document.write()时—这里的情况绝对如此—浏览器将擦除原始页面。换句话说,浏览器将页面完成后的调用解释为使用空白页面"重新开始"的隐含请求。

那么,您可以使用DOMAPI将新内容附加到页面中,而不是使用document.write()