W swoim projekcie, w pliku o nazwie image-slider.js
używam obiektu XMLHttpRequest
, który pobiera plik get-filenames.php
(pobierający listę plików z pewnego folderu na serwerze). (Plik image-slider.js
załączam i uruchamiam w pliku image-slider-en.php
).
I teraz, żeby pobrać plik get-filenames.php
, wywołuję metodę open
:
(plik: image-slider.js)
...
window.addEventListener("load", function() {
var request = new XMLHttpRequest();
...
request.open("GET", "get-filenames.php");
...
}
Wszystko byłoby w porządku (listę pobierało znakomicie ;) ), gdyby nie to, że ostatnio zechciałem zrefaktoryzować katalogi strony. Plik get-filenames.php
znajdował się pierwotnie w tym samym katalogu, co index-en.php
, a teraz przeniosłem go do podkatalogu helpers
. Tak więc zmieniłem powyższe wywołanie na:
(plik: image-slider.js)
request.open("GET", "helpers/get-filenames.php");
I przestało działać. Daje 404 Not found (...) The requested URL /helpers/get-filenames.php was not found on this server.
Pytania:
1. Dlaczego to nie działa tak, jak bym oczekiwał?
2. Co zrobić, żeby działało?
3. Skąd ten slash na początku rozwiązanego URL (/helpers/get-filenames.php
)?
Pierwsze pytanie jest dla mnie ważniejsze. Na tę chwilę rozwiązałem to tak, że przeniosłem plik get-filenames.php
do poprzedniej lokalizacji – ale wolałbym mieć go w nowej...
Moja poprzednia (działająca) struktura katalogów:
strona
|— js
|— image-slider.js
|— ...
|— php
|— image-slider-en.php <-- w tym pliku dołączam (i uruchamiam) plik get-php.js
|— get-filenames.php
|— ...
|— ...
Moja aktualna (niedziałająca) struktura katalogów:
strona
|— js
|— image-slider.js
|— ...
|— php
|— image-slider-en.php <-- w tym pliku dołączam (i uruchamiam) plik get-php.js
|— helpers
|— get-filenames.php
|— ...
|— ...
UPDATE: Wybaczcie za zamieszanie. Pozmieniałem wszystkie nazwy plików na takie, jakie mam w projekcie.