Разрешение доступа к ресурсам URL вне проекта angularjs - PullRequest
0 голосов
/ 13 июня 2019

У меня есть файл .json, который содержит конфигурацию для проекта angularjs. К сожалению, этот файл должен находиться за пределами папки проекта. Если я пытаюсь получить доступ к файлу из папки проекта, у меня нет проблем. Как только он находится за пределами папки проекта, он не может найти файл и выдает ошибку 404.

Так что это был функционирующий отдельный проект, который теперь разделен для целей разработки. Разделение означает, что файл config.json не находится в расположении проекта angularjs. Этот файл .json необходим для некоторых параметров и вызывается методом GET из службы $ http. Местоположение должно быть относительно вызова, оно не может быть абсолютным URL.

Я пытался поместить файл cofig.json в папку angular js и постепенно сбрасывал его обратно на уровни, как только он выходит за пределы папки маршрута проектов, к нему больше нельзя получить доступ и выдает ошибку 404. I Я не уверен, что это проблема навигации angularjs или проблема безопасности.

Я предположил, что это проблема с разрешениями и безопасностью, поэтому я вставил службу $ sce в свой контроллер и попробовал несколько попыток разрешений, но безрезультатно, я включу кое-что из того, что я пробовал, в код.

Я попытался передать некоторые функции $ sce в качестве параметра url, но они не возвращают строку, поэтому она не работает. Я также попытался установить все URL как доверенные, я прокомментировал в службе HTTP некоторые функции, которые я пробовал, и показал над разрешениями, которые я пытался установить.

Я не знаю, правильно ли я использую $ sce, или это совсем не то, на что мне следует обращать внимание, любая помощь будет признательна.

''» angular.module ( 'screen.commun'). заводскую ( '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 / пемпек% 20Page% 20Server% 20Node% 20Engine / config.json: 1

и если я нажму на ссылку с ошибкой, я получу сообщение об ошибке «CANNOT GET P0LA0013 / Pempek Page Server Engine / config.json».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...