Otrzymuję następujący błąd:
XMLHttpRequest cannot load file:///C:/Users/richa.agiwal/Desktop/get/rm_Library/templates/template_viewSettings.html. Cross origin requests are only supported for HTTP.
Zdaję sobie sprawę, że na to pytanie udzielono już wcześniej odpowiedzi, ale nadal nie znalazłem rozwiązania mojego problemu. Próbowałem uruchomić chrome.exe --allow-file-access-from-files
z wiersza poleceń i przeniosłem plik do lokalnego systemu plików, ale nadal pojawia się ten sam błąd.
Doceniam wszelkie sugestie!
security
google-chrome
xTMNTxRaphaelx
źródło
źródło
Odpowiedzi:
Jeśli robisz coś takiego, jak pisanie HTML i Javascript w edytorze kodu na komputerze osobistym i testowanie danych wyjściowych w przeglądarce, prawdopodobnie otrzymasz komunikaty o błędach o
Cross Origin Requests
. Twoja przeglądarka będzie renderować HTML i uruchamiać Javascript, jQuery, angularJs w przeglądarce bez konieczności konfigurowania serwera. Jednak wiele przeglądarek internetowych jest zaprogramowanych do wykrywania ataków między witrynami i blokuje żądania. Nie chcesz, aby ktokolwiek mógł odczytać Twój dysk twardy z przeglądarki internetowej. Możesz stworzyć w pełni funkcjonalną stronę internetową za pomocą Notepad ++, która będzie uruchamiała Javascript oraz frameworki takie jak jQuery i angularJs; i przetestuj wszystko, używając pozycji menu Notepad ++,RUN, LAUNCH IN FIREFOX
. To przyjemny, łatwy sposób na rozpoczęcie tworzenia strony internetowej, ale kiedy zaczynasz tworzyć coś więcej niż układ, css i prostą nawigację po stronach, potrzebujesz lokalnego serwera skonfigurowanego na swoim komputerze.Oto kilka opcji, których używam.
Przetestuj w przeglądarce Firefox, wdróż na hoście
Uruchom serwer lokalny
Uruchom lokalny serwer w języku Python
Uzyskaj swój adres IP:
Command Prompt
asAdministrator
. Kliknij prawym przyciskiem myszyCommand Prompt
pozycję menu i wyszukajRun As Administrator
ipconfig
i naciśnij Enter.Jeśli nie masz Pythona, pobierz go i zainstaluj.
Korzystając z „wiersza polecenia”, musisz przejść do folderu, w którym znajdują się pliki, które mają służyć jako strona internetowa.
python -m SimpleHTTPServer port
Gdzie „port” to na przykład numer portu, który chceszpython -m SimpleHTTPServer 1337
Uruchom aplikację sieci Web lokalnie
http://your IP address:port
http://xxx.xxx.x.x:1337
lubhttp://xx.xxx.xxx.xx:8000
domyślnieBardziej zaawansowane rozwiązania
Możesz zainstalować Apache, PHP, Python, SQL, Debuggery itp. Wszystkie osobno na swoim komputerze, a następnie spędzić dużo czasu, próbując wymyślić, jak je wszystkie ze sobą współpracować, lub poszukać rozwiązania, które łączy te wszystkie rzeczy.
Lubię używać XAMPP z NetBeans IDE. Możesz także zainstalować WAMP, który umożliwia
User Interface
zarządzanie i integrację Apache i innych usług.źródło
Proste rozwiązanie
Jeśli pracujesz z czystymi plikami html / js / css.
Zainstaluj tę małą aplikację serwerową ( link ) w przeglądarce Chrome. Otwórz aplikację i wskaż lokalizację pliku na katalog projektu.
Przejdź do adresu URL wyświetlanego w aplikacji.
Edycja: inteligentniejsze rozwiązanie przy użyciu Gulp
Krok 1: Aby zainstalować Gulp. Uruchom następujące polecenie w swoim terminalu.
Krok 2: W katalogu projektu utwórz plik o nazwie gulpfile.js. Skopiuj w nim następującą zawartość.
Krok 3: Zainstaluj wtyczkę gulp do synchronizacji przeglądarki. W tym samym katalogu, w którym znajduje się plik gulpfile.js, uruchom następujące polecenie
Krok 4: Uruchom serwer. W tym samym katalogu, w którym znajduje się plik gulpfile.js, uruchom następujące polecenie
źródło
Ten błąd występuje, ponieważ właśnie otwierasz dokumenty html bezpośrednio z przeglądarki. Aby to naprawić, musisz udostępnić swój kod z serwera WWW i uzyskać do niego dostęp na hoście lokalnym. Jeśli masz konfigurację Apache, użyj jej do obsługi plików. Niektóre IDE mają wbudowane serwery internetowe, takie jak IDE JetBrains, Eclipse ...
Jeśli masz konfigurację Node.Js, możesz użyć serwera http . Po prostu biegnij,
npm install http-server -g
a będziesz mógł go używać w terminalu jakhttp-server C:\location\to\app.
Kirill Fuchsźródło
Aby dodać tutaj szczegółową odpowiedź Alana Wellsa , jest to szybkie rozwiązanie
Uruchom serwer lokalny
możesz udostępniać dowolny folder na swoim komputerze za pomocą usługi Serve
Najpierw przejdź za pomocą wiersza poleceń do folderu, który chcesz obsługiwać.
Następnie
lub jeśli chcesz przetestować usługę Serve, pobierając ją
i to wszystko! Możesz przeglądać swoje pliki pod adresem http: // localhost: 5000
źródło
Napotkałem ten błąd podczas lokalnego wdrażania projektu interfejsu API sieci Web i wywoływałem projekt API tylko z adresem URL podanym poniżej:
localhost // myAPIProject
Ponieważ komunikat o błędzie mówi, że nie jest to http: //, zmieniłem adres URL i wstawiłem prefiks http, jak podano poniżej, i błąd zniknął.
http: // localhost // myAPIProject
źródło
Jeśli korzystasz z WebStorm Javascript IDE , możesz po prostu otworzyć swój projekt z WebStorm w przeglądarce. WebStorm automatycznie uruchomi serwer i nie będziesz już otrzymywać żadnego z tych błędów, ponieważ masz teraz dostęp do plików za pomocą dozwolonych / obsługiwanych protokołów (HTTP).
źródło
Zależy od Twoich potrzeb, ale istnieje również szybki sposób tymczasowego sprawdzenia (fikcyjnego) JSON, zapisując go na http://myjson.com . Skopiuj link do interfejsu API i wklej go do kodu javascript. Altówka! Kiedy chcesz wdrożyć kody, nie możesz zapomnieć o zmianie tego adresu URL w swoich kodach!
źródło
Umieść folder projektu w htdocs katalogu Xampp Uruchom serwer Apache za pomocą panelu sterowania Xampp, a następnie otwórz przeglądarkę w celu przejścia do lokalnego hosta / folderu projektu i zacznij działać
źródło