允许在angularjs项目外部访问URL资源

时间:2019-06-13 07:49:34

标签: angularjs http service

我有一个.json文件,其中包含angularjs项目的配置。不幸的是,该文件必须位于项目文件夹之外。如果我尝试从项目文件夹中访问文件,则没有问题。一旦它位于项目文件夹之外,它就无法找到该文件并抛出错误404。

因此,这是一个可以正常运行的项目,出于开发目的已将其拆分。拆分意味着config.json文件不在angularjs项目位置。该.json文件是某些参数所必需的,并通过$ http服务中的GET方法进行调用。该位置必须相对于调用,不能是绝对URL。

我尝试将cofig.json文件放在angular js文件夹中,并逐步将其放回较低的级别,只要它在项目route文件夹之外,就无法再访问它并抛出错误404。我不确定这是angularjs导航问题还是安全问题。

我认为这是一个权限和安全性问题,因此我将$ sce服务插入到控制器中,并尝试了多次权限尝试,但无济于事,我将在代码中包含一些我尝试过的内容。

我尝试将某些$ sce函数作为url参数传递,但是它们不返回字符串,因此不起作用。我还尝试将所有URL设置为可信,我在HTTP服务中评论了我尝试过的一些功能,并在我尝试设置的权限上方显示了该信息。

我不知道我是否没有正确使用$ sce,或者这根本不是我应该研究的内容,任何帮助将不胜感激。

''' angular.module('screen.commun')。factory('configConverter', [“ $ http”,'$ sce',函数($ http,$ sce){

$sce.trustAsUrl('../../../../../P0LA0013/Pempek Page Server Node Engine/config.json');
$sce.trustAsResourceUrl('../../../../../P0LA0013/Pempek Page Server Node Engine/config.json')
$sce.trustAs($sce.RESOURCE_URL, '*');
$sce.trustAs($sce.URL, '*');


$http({
    url: '../../../../../P0LA0013/Pempek Page Server Node Engine/config.json',
    //url: $sce.parseAsResourceUrl('../../../../../P0LA0013/Pempek Page Server Node Engine/config.json'),
    //url: $sce.trustAsResourceUrl('../../../../../P0LA0013/Pempek Page Server Node Engine/config.json'),


    dataType: 'json',
    method: 'GET',
    data: '',
    headers: {
                "Content-Type": "application/json"
    }

})

'''

我希望它能够抓取config.json文件并允许访问其内容,这是我收到的。

无法加载资源:服务器响应状态为404(未找到) :9000 / P0LA0013 / Pempek%20Page%20Server%20Node%20Engine / config.json:1

如果我单击错误链接,则会收到“无法获取P0LA0013 / Pempek页面服务器节点引擎/config.json”错误。

0 个答案:

没有答案