【问题标题】:jQuery: Adding javascript to page via Ajax but does not executejQuery:通过 Ajax 将 javascript 添加到页面但不执行
【发布时间】:2011-08-09 01:11:03
【问题描述】:

我使用 jQuery 发出 ajax 请求并将代码添加到我的页面。我添加到页面的代码不仅包含 HTML,还包含 javascript。

显然没有调用 javascript 代码!如何强制执行我新添加的 javascript 源代码?

【问题讨论】:

  • 如果您不显示代码,我们无法知道您做错了什么。
  • eval() command包裹你的脚本,小心脚本注入!

标签: javascript jquery ajax


【解决方案1】:

您可能正在使用 jQuery(element).load(url) 方法。

jQuery 使用浏览器的 .innerHTML 属性来解析检索到的文档并将其插入到当前文档中。在此过程中,浏览器通常会从文档中过滤元素,例如 、 或 元素。因此,通过 .load() 检索到的元素可能与浏览器直接检索到的文档并不完全相同。

尝试确定您从服务器接收的内容的范围,例如:

// will load only the content inside the element with id="container"
jQuery(element).load("yoururl #container"); 

您可能应该尝试使用完整的回调从脚本执行 JS 代码,例如:

jQuery(element).load("yoururl #container", function(response, status, xhr) {
    do_stuff_after_load();
}

【讨论】:

    猜你喜欢
    • 2012-05-27
    • 1970-01-01
    • 2012-04-08
    • 2011-06-18
    • 2014-01-23
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    • 2021-10-14
    相关资源
    最近更新 更多