programing

"NS_ERROR_DOM_BAD_URI: 제한된 URI에 대한 액세스가 거부되었습니다."

bestprogram 2023. 8. 10. 19:01

"NS_ERROR_DOM_BAD_URI: 제한된 URI에 대한 액세스가 거부되었습니다."

저는 스크립트 태그로 직접 작성된 여러 개의 d3-graph가 있는 html 파일을 가지고 있습니다.그래프 중 하나를 외부 js 파일로 아웃소싱하면 "NS_ERROR_DOM_BAD_"라는 메시지가 표시됩니다.URI: 제한된 URI에 대한 액세스가 거부되었습니다."로컬 json 파일을 읽는 d3.json 코드를 삭제하면 오류가 사라집니다.하지만 html에 내장된 외부 js에 json 파일을 로드할 수 있어야 하는 거죠?

d3.json("forcetree.json", function(json) {
root = json;
update();
});

저도 같은 오류를 겪고 있었고 해결책은 당신의 index.html, script.js 및 data.json을 같은 디렉토리에 두는 것입니다.

.html 파일 루트를 기준으로 .json 파일을 지정합니다.

예:

d3.json("js/forcetree.json", function(json) {
  root = json;
  update();
});

저는 JSON 파일을 제 html 파일이 포함된 디렉토리의 하위 디렉토리로 이동하여 이 문제를 해결했습니다.

깨짐:

www/
  code/
    hello.html    # refers to ../data/hello.json
  data/
    hello.json

작업:

www/
  hello.html      # refers to data/hello.json
  data/
    hello.json

저도 같은 문제가 있고 다음과 같이 json 파일 경로를 사용하여 해결했습니다.

d3.json("file:///C:/path/...../js/forcetree.json", function(json) {
  root = json;
  update();
});

브라우저에서 이 경로에 액세스하면 파일이 열립니다.

"NS_ERROR_DOM_BAD_URI: 제한된 URI에 대한 액세스가 거부되었습니다." 오류가 여러 시나리오에서 발생할 수 있습니다.

  1. 요청된 리소스를 찾을 수 없고 경로 참조에 문제가 있는 경우.
  2. API를 호출할 때 API 호출에 문제가 있었습니다.이 경우 API의 옵션 호출을 확인해야 하는데, API 게이트웨이 수준에서 요청이 차단되어 API가 이 오류를 반환하는 경우가 있습니다.

저의 경우 피기 게이트웨이가 api 호출을 인증할 수 없고 401 Bad Request를 반환할 수 없기 때문에 API에서 이 오류를 반환했습니다.

언급URL : https://stackoverflow.com/questions/17340482/ns-error-dom-bad-uri-access-to-restricted-uri-denied