07
Апр
2021

Как прописать универсальные пути в JS при Fetch-запросах?

Суть в следующем. Загрузил сайт на хостинг. Во время загрузки при первом же fetch-запросе js не находит путь до handle.php, из-за чего весь сайт отображается неправильно.

Но даже если я изменю пути, то с аналогичными проблемами я столкнусь при работе в эмуляторе на Open Server. Как бы я не изменил пути в проекте для хостинга, в Open Server всё равно всё сломается и не будет работать.

Так примерно выглядит запрос (это часть кода):

fetch('/Jumpers/handle.php', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json;charset=utf-8'
        },
        body: JSON.stringify(body)
    })

Адрес на хостинге должен быть такой: http://название сайта/handle.php

На деле же, когда заходишь на сайт, то он пытается зайти по неправильному адресу (добавляет /Jumpers), и получается ошибка:

Failed to load resource: the server responded with a status of 404 (Not Found) /Jumpers/handle.php:1

Если из fetch-запроса убрать /Jumpers, то сломается работа в эмуляторе:

POST http://jumpers/handle.php 404 (Not Found)

В итоге получается замкнутый круг, из которого не выбраться.

Мне подсказали, что нужно использовать универсальные пути, только для js как это сделать?

Я попробовал поставить точку, вместо /Jumpers/handle.php написал ./handle.php, но это не помогло. Пишет ошибку:

POST http://название сайта/handle.php 500 (Internal Server Error)

Источник: https://ru.stackoverflow.com/questions/1267422/%D0%9A%D0%B0%D0%BA-%D0%BF%D1%80%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D1%82%D1%8C-%D1%83%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%BF%D1%83%D1%82%D0%B8-%D0%B2-js-%D0%BF%D1%80%D0%B8-fetch-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0%D1%85

Тебе может это понравится...

Добавить комментарий