【问题标题】:JQuery .Load() javascript not executingJQuery .Load() javascript 未执行
【发布时间】:2014-09-01 21:36:10
【问题描述】:

我遇到了重大问题。我有一个名为 dashboard.php 的页面,但实际页面 div(ID = #dashboardcontainer)是空的,因为我正在使用此脚本填充内容:

$('#dashboardcontainer').load('functions/pages/dashboard/dashboard_admin.php');

然后我尝试了:

$.getScript("assets/plugins/jquery-1.8.2/jquery-1.8.2.min.js", function(){
$('#dashboardcontainer').load('functions/pages/dashboard/dashboard_admin.php');
})

但是,我要“注入”的页面实际上包含 Javascript。问题是,上述 javascript 的 .load() 不会加载文件中的 javascript。

我尝试了以下帖子中的许多其他示例,但它们根本不起作用。 javascript实际上并未加载。

jQuery .load() / .ajax() not executing javascript in returned HTML after appended

$.get('partial.html', function(result){
$result = $(result);

$result.find('#content').appendTo('#new_content');
$result.find('script').appendTo('#new_content');
}, 'html');

= 没有 javascript 触发。

jQuery ajax load() java script not executing?

$("loadStuffHere").load("xyz.html"); $.getScript('js/xyz.js');

= 仍然没有 javascript 触发。

我不能使用大量的 PHP 包含,因为我收到了阻止我的页面正确呈现的冲突。

我也尝试过使用某种 Json 东西来隐藏和显示 dom 元素,但我讨厌修改和插入新数据的复杂性。

有没有什么简单的方法(这个术语在网络开发字典中似乎不存在)我可以实际注入一个包含它自己的 javascript 的网页,就像 PHP 包含会呈现它一样?

这是我要注入的 PHP 页面:

<?php
     echo '<script type="text/javascript">alert("This is the sub-page");</script>';
?>

【问题讨论】:

  • 小提琴可能会帮助您获得更多回复
  • 我很想创建一个,但我仍在学习所有这些东西。我什至很难构建一个 Fiddle 来证明我的错误,因为我的网站是从 wrap bootstrap 购买的主题(如果我什至可以提及该网站?)
  • 这是你想要运行的唯一东西吗?还是你也想包含 html?

标签: javascript php jquery ajax load


【解决方案1】:

试试

$.get("functions/pages/dashboard/dashboard_admin.php"
  , function(script, textStatus, jqxhr) {
    console.log(typeof script, textStatus
                , jqxhr.responseText
                , jqxhr.getResponseHeader("Content-Type"));
    $("head").prepend(script);
})
.fail(function(jqxhr, textStatus, errorThrown) {
  console.log(jqxhr.responseText, errorThrown);
});

【讨论】:

  • 您好,感谢您的帮助!所以页面内容被插入,但实际的 javascript 元素仍然不起作用。我确实必须将 $("head") 更改为 $("#dashboardcontainer") 以便将代码注入正确的区域。我将javascript链接留在了父dashboard.php页面上,没有运气。我将所有的 javascripts 移到了子页面dashboard_admin.php 中,仍然没有运气。
  • 如果可能,可以发布console.log() 的返回值吗? jqxhr.responseText 是否返回 &lt;script type="text/javascript"&gt;alert("This is the sub-page");&lt;/script&gt; success
  • 这是 console.log 所说的:[Log] string success
  • 更新:我刚刚创建了一个新的dashboard_customer.php 文件,它与alert() 和

    testing

    相呼应。这现在有效。不寻常,因为文件是相同的......但是,现在我尝试插入所需的内容(面板、图表和列表),所需的 javascript 引用不起作用。如果我将所需的代码放入dashboard.php,页面看起来很棒。
猜你喜欢
  • 2021-11-01
  • 2014-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多