如果发现一些关于jQuery .load(url)的帖子和解雇问题,但我找不到解决方案,或者我不是很了解它们 - 对不起。
到目前为止,这是正确的吗?:
我的例子:
我有一个" main.php"列表。我从其他php加载列表的内容,其名为" my_list.php"。
" my_list.php"里面有一些jQuery脚本。例如,如果我按下一个链接,将打开一个模态。
所以,如果我直接打开" my_list.php"所有脚本都运行良好。如果我从" my_list.php"加载内容在" main.php"内," my_list.php"内的脚本将不再点击aso。
我像这样加载内容:
$( "#list" ).load( "my_list.php .list_wrapper" );
我找到了解决方案: 您只需为加载的内容添加所需的脚本/函数,如下所示:
$( "#list" ).load( "my_list.php .list_wrapper", function() {
$.getScript("js/my_scripts_for_the_list.js");
});
答案 0 :(得分:0)
就像jQuery $('#elem').load('/some-page.php')文档说的那样:
描述:从服务器加载数据并将返回的HTML放入匹配的元素中。
这意味着 /some-page.php 会发出 GET 请求。该脚本/页面应返回有效的HTML响应。该HTML响应将被注入给定的jquery元素内。该元素将包含检索到的HTML。
很高兴知道:通过.load()
请求的页面上通过JS / AJAX创建的任何动态内容都不会执行。只检索服务器端呈现的内容。
如果您在浏览器中访问 /my_list.php 会返回有效的HTML,请尝试使用它:
$("#list").load("my_list.php");
答案 1 :(得分:0)
您的Javascript将从my_list.php执行得很好,只需确保它没有任何html,head,body标签。删除这些标记,只使用div或span。因为在调用load到my_list.php后的当前场景中,您的页面将有多个html,head或body标签,浏览器无法正确呈现这些标签。只需删除html,head和body标签,一切都应该正常工作。我希望这有帮助。 PS:不介意我的英语。