2013-06-27 18 views
17

Mam plik HTML z kilkoma wykresami d3 bezpośrednio zapisanymi w znacznikach skryptu. Kiedy zlecę wykonanie jednego z wykresów zewnętrznemu js, otrzymuję komunikat "NS_ERROR_DOM_BAD_URI: Odmowa dostępu do zastrzeżonego URI". Jeśli usunę kod za pomocą d3.json, gdzie odczyta lokalny plik json, błąd zniknie. Ale musi być możliwe załadowanie pliku json w zewnętrznym js, który jest osadzony w html, prawda?"NS_ERROR_DOM_BAD_URI: Odmowa dostępu do zastrzeżonego URI"

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

http://stackoverflow.com/questions/1105055/ajax-and-ns-error-dom-bad-uri-error –

+0

tak ale to nie jest prawo dostępu do jsonów crossdress? plik json znajduje się na moim dysku twardym plus nie używam funkcji jquery lub js json, ale używam funkcji json z d3, która nie ma czegoś takiego jak jsonp – Schnodderbalken

+0

http://stackoverflow.com/questions/17077931/d3-samples-in-a-microsoft-stack? Answerertab = aktywny # tab-top –

Odpowiedz

20

Miałem ten sam błąd, a rozwiązaniem jest mieć swoje index.html script.js i data.json w tym samym katalogu.

+5

@OP: dziwne, że ta odpowiedź została przyjęta. Z Twojego pytania wynika, że ​​plik data.json * znajduje się * w tym samym katalogu. Nie? – LarsH

6

Określ .json pliku w stosunku do pliku .html korzenia

Ex:

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

Mam ten sam problem i go rozwiązać za pomocą ścieżki pliku json tak:

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

, jeśli uzyskam dostęp do tej ścieżki z przeglądarki, plik otworzy URL.

0

Rozwiązałem ten problem, przenosząc plik JSON do podkatalogu katalogu zawierającego mój plik HTML.

łamane:

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

PRACY:

www/ 
    hello.html  # refers to data/hello.json 
    data/ 
    hello.json 
Powiązane problemy