Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.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
Javascript 使用angular创建JSON下载链接_Javascript_Angularjs - Fatal编程技术网

Javascript 使用angular创建JSON下载链接

Javascript 使用angular创建JSON下载链接,javascript,angularjs,Javascript,Angularjs,我正在尝试创建一个链接来下载JSON文件,如下所示 控制器 看法 但是,当我检查生成的HTML时,unsafe:在href值的开头加上前缀,这会阻止链接工作 我尝试使用$sce服务的各种方法通知Angular此URL应该是可信的,但都没有成功。这里有一个可行的方法: var-app=angular.module(“app”,[]); app.config([ “$compileProvider”, 函数($compileProvider) { $compileProvider.ahr

我正在尝试创建一个链接来下载JSON文件,如下所示

控制器 看法

但是,当我检查生成的HTML时,
unsafe:
href
值的开头加上前缀,这会阻止链接工作

我尝试使用
$sce
服务的各种方法通知Angular此URL应该是可信的,但都没有成功。

这里有一个可行的方法:


var-app=angular.module(“app”,[]);
app.config([
“$compileProvider”,
函数($compileProvider)
{   
$compileProvider.ahrefsanitationwhitelist(/^\s*(https?| ftp | mailto | data | chrome扩展名):/);
//1.2版之前的Angular使用$compileProvider.urlSanitationWhiteList(…)
}
]);
app.controller(“MainCtrl”、[“$scope”、函数($scope){
var jsobObj={姓名:'Michelle',年龄:28};
var jsonData=“text/json;charset=utf-8,”+encodeURIComponent(json.stringify(jsobbj));
$scope.jsonUrl='data:'+jsonData;
}]);
可能与此重复
$scope.url = "data:text/json;charset=utf-8," + encodeURIComponent(JSON.stringify(obj));
<a href="url" download="download.json">download</a>
<script data-require="angular.js@1.5.5" data-semver="1.5.5" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>
<div ng-app="app" ng-controller="MainCtrl">
  <a href="{{jsonUrl}}" download="download.json">download</a>
</div>

<script type="text/javascript">
    var app = angular.module("app", []);

    app.config( [
        '$compileProvider',
        function( $compileProvider )
        {   
            $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|data|chrome-extension):/);
            // Angular before v1.2 uses $compileProvider.urlSanitizationWhitelist(...)
        }
    ]);

    app.controller("MainCtrl", ["$scope", function($scope) {

      var jsobObj = { name: 'Michelle', age: 28 };
      var jsonData = "text/json;charset=utf-8," + encodeURIComponent(JSON.stringify(jsobObj));

      $scope.jsonUrl = 'data:' + jsonData;

    }]);
</script>