Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 动态路由和将响应显示为HTML_Angularjs_Angular Routing - Fatal编程技术网

Angularjs 动态路由和将响应显示为HTML

Angularjs 动态路由和将响应显示为HTML,angularjs,angular-routing,Angularjs,Angular Routing,我已经为我的应用程序准备了一个简单的例子——花了一段时间才弄清楚通过ajax的动态路由。我从包含要呈现的HTML的服务器脚本控制器返回JSON。但不管我怎么做,Angular都不会将其呈现为HTML——只呈现文本 索引\u simple.html <html id="ng-app" ng-app="cmsApp"> <head> <script src="lib/angular/angular.js"></script>

我已经为我的应用程序准备了一个简单的例子——花了一段时间才弄清楚通过ajax的动态路由。我从包含要呈现的HTML的服务器脚本控制器返回JSON。但不管我怎么做,Angular都不会将其呈现为HTML——只呈现文本

索引\u simple.html

<html id="ng-app" ng-app="cmsApp"> 
    <head> 
    <script src="lib/angular/angular.js"></script>
    <script src="lib/angular/angular-route.js"></script>
    <script src="js/app_simple.js"></script>
<body>
<div>
    <ul class="nav navbar-nav">
        <li><a href="#/home">Home</a></li>
        <li><a href="#/about">About</a></li>
        <li><a href="#/test">Test</a></li>
    </ul>
    <div id="content-view" ng-view style="border:1px solid green;padding:10px;"></div>
</div>
</body>
</html>
从链接返回JSON示例

angular.module('cmsApp', [
    'ngRoute'
])

.config(['$routeProvider', function($routeProvider) {
    $routeProvider.when('/:name', { template: '{{returned_content | trustAsHtml}}', controller: 'PagesController' });
}])

.controller('PagesController', [ 
    '$scope',
    '$http',
    '$route',
    '$routeParams',
    '$compile',
    function PagesController($scope, $http, $route, $routeParams, $compile) {

        var data = { page:$routeParams.name };
        var json_url = '/mobile/route.cfm';

        $http.post( json_url,  data ).then(function (msg) {
        if( msg.data.CONTENT)
        {
            $scope.returned_content = msg.data.CONTENT;
        }               
    });
}])

.filter('trustAsHtml', function($sce){
    return function(input){
        return $sce.trustAsHtml(input);
    }
});
/家
我认为您忘记了导入下面的javascript文件并将其注入到模块中

<script src="https://code.angularjs.org/1.3.5/angular-sanitize.js"></script>

意味着你想要访问你的routeProvider dynamicallyYes,我正在动态访问routeProvider——但它不会呈现我的HTML——它会在页面上以文本字符串的形式显示返回的内容。如果我将路由器改为从HTML文件中提取HTML,它会显示良好,但从JSON获取内容并使用trustAsHtml过滤器则不会。
{"CONTENT":"The <strong>About Page<\/strong> Page Content"} 
{"CONTENT":"The <strong>Home Page<\/strong> Content -- {{extra_angular_scope_var}} "} 
<script src="https://code.angularjs.org/1.3.5/angular-sanitize.js"></script>
angular.module('cmsApp', [
    'ngRoute','ngSanitize'
])