通过AJAX加载整个AngularJS页面

时间:2015-11-22 20:01:25

标签: javascript jquery html angularjs ajax

我需要将一个完整的遗留页面加载到我们的新页面中,包括AJAX的一些AngularJS。

起初它根本没用,我只是得到了简单的AngularJS标记,例如。

Rank         ID
{{$index+1}} {{player.playerid}}

但后来我找到this stackoverflow thread this demoplnkr-Demo使用$compile并且对于线程中的给定示例完全正常。所以我尝试使用我的代码运行它,现在我收到以下错误消息

  

错误:[ng:areq]参数' HighscoreCtrl'不是一个功能,未定义

我使用$.get来获取整个Angular-Page并过滤包含所有内容(角度标记,模块和控制器)的div的响应,然后将其放入{{1 }}

jQuery get:

div#mainContent

正文包含:

$.get(link, function(data) {

  var temp = $(data);

  var links = temp.filter('link');
  var scripts = temp.not('div').not('link').not('meta').not('title');
  var body = temp.filter('#test123');

  console.log(body);
  $("#mainContent").html(
      $compile(
        body
      )($scope));
    $scope.$apply();
  });

在编译标记之前,我已经尝试拆分角度部分并包含模块和控制器,但这也没有用。

我尝试做的甚至可能吗?

这是我为测试代码而创建的一个简单示例: {{3}}

1 个答案:

答案 0 :(得分:0)

看起来你没有为你的控制器包含js文件,因为你只是拉入了身体。脚本引用可能在head部分。您需要在正文中包含指向该js文件的链接,或者将其重新添加回来。