$ .getJSON работает на локальном хосте, но не на удаленном сервере - PullRequest
0 голосов
/ 28 сентября 2019

Когда я захожу на localhost на моем компьютере с Arch Linux, на котором установлен Apache, следующий код успешно загружает файл JSON.

$.getJSON("geo/my.json",function(jsonStuff){
  // Code here
})

Но когда я перехожу на свой сервер под управлением Microsoft Azure, консоль моего веб-браузера отображает это сообщение.

GET https://path/to/my.json 404 (Not Found)

Я знаю, что файлы и папки есть, потому что я перенес их на удаленный сервер через FileZilla.Когда я использую FileZilla, чтобы открыть папку, содержащую my.json, я вижу там файл.

Корневой каталог выглядит следующим образом.

index.html
geo
  my.json
js
  script.js

Когда я перехожу в браузере на https://path/to/my.json, Я вижу это сообщение.

The resource you are looking for has been removed, had its name changed, or is temporarily unavailable..

Почему $.getJSON не работает на моем удаленном сервере?

1 Ответ

0 голосов
/ 28 сентября 2019

Убедитесь, что корень вашего документа установлен правильно в конфигурации Apache вашего сайта.

<IfModule mod_ssl.c>
    <VirtualHost _default_:443>

            ServerAdmin admin@yoursite.com
            ServerName yoursite.com
            ServerAlias www.yoursite.com
            DocumentRoot /path/to/your/website/directory     <-Make sure this is correct.
            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined
            SSLEngine on

    </VirtualHost>
</IfModule>

Если ваш my.json файл находится в /var/www/mysite/geo/my.json, то ваш DocumentRoot должен быть DocumentRoot /var/www/mysite.Надеюсь, это поможет.

...