2015-04-01 52 views
0

我在服务器ng-controller HTML文件:Angular JS控制器是由AJAX返回的吗?

<div id="ng-app" ng-app="app"> 
     <div ng-controller="AppController" nv-file-drop="" uploader="uploader"> 
</div> 

这个文件是由AJAX请求令牌,并在页面返回。但是这个控制器不活跃。如何解决它?

例子:

$.ajax({ 
     url: '...', 
     success: function(response) { 
      $('body').html(response.html); // where html is template from server with controller 
     } 
    }); 
+1

您能否创建一个完整的示例?使用一些在线js \ html编辑器是首选 – 2015-04-01 22:21:11

+0

已更新的问题。 Angular JS在构建DOM页面期间没有加载这个模板,看起来是这个问题 – Sahe 2015-04-01 22:25:02

+0

当你的ajax响应以成功结束时你有任何其他的ng-app被初始化为高于那个响应? – IOR88 2015-04-01 22:33:10

回答

2

你需要引导它。

$.ajax({ 
     url: 'response.html', 
     success: function(response) { 
      $('body').html(response); // where html is template from server with controller 
      angular.bootstrap(document.getElementById("ng-app"), ['app']); 
     } 
    }); 
+0

我得到errro:'未捕获的错误:[ng:btstrpd]' – Sahe 2015-04-01 23:07:34

+0

您可能会引导两次:https://docs.angularjs.org/error/ng/btstrpd – Hoyen 2015-04-02 14:16:47