Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » jQuery » Ошибка 403 при отправке AJAX запроса. Как решить?

Ошибка 403 при отправке AJAX запроса. Как решить?


     07.02.2019    jQuery, Модули    1952

вопрос
Доброго времени суток!
Никак не могу решить проблему с отправкой POST-запроса (AJAX) на файл, созданный в системе плагинов (DLE 13.1)
Код запроса:

        let url = "/engine/modules/tracking/request.php";
        $.post(url,
            {
                list: data,
                action: "sortlist"
            },
            onAjaxSuccess
        );


Вариант с подключением этого файла к странице и слать на неё запросы - не подходит. Необходимо получать ответы.
Может кто сталкивался и нашёл решение?

Ответил: LazyDev


Для ajax запросов используйте папку /engine/ajax/
Ссылка на запрос должна быть таковой
dle_root + 'engine/ajax/controller.php?mod=request'

12 комментариев

pavel31
Юзер

pavel31 - 7 февраля 2019 22:28 -


$.post("/engine/modules/tracking/request.php", {list: data, action: "sortlist"}, function() {
     // success
});

Balumba
Юзер

Balumba - 7 февраля 2019 22:50 -

Причём тут .htaccess?
Файл создан в системе плагинов - в админке.

Flash
Эксперт

Flash - 7 февраля 2019 22:52 -

Вы пробовали с .htaccess ? Работает?

Balumba
Юзер

Balumba - 7 февраля 2019 22:55 -

Нет. Не работает. Если я создаю .htaccess в реальной папке на сервере "engine/modules/tracking/" и по тому же пути у меня файлы в менеджере плагинов, то вместо 403 - 404ая.

LazyDev
PHP-developer

LazyDev - 7 февраля 2019 23:16 -

Balumba, для ajax запросов используйте папку /engine/ajax/

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

Balumba
Юзер

Balumba - 7 февраля 2019 23:22 -

Благодарю, но мне нужно работать с виртуальным файлом. Нативный файл для запроса мне не подходит. К сожалению.
Виртуально в /engine/ajax/ я создавал. Итог тот же.

LazyDev
PHP-developer

LazyDev - 7 февраля 2019 23:25 -

Balumba, значит плохо создавали, это "не виртуальный" файл. Файл создается, только в папке engine/cache/systems/plugins а путь который вы указываете записывается в бд.

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

Balumba
Юзер

Balumba - 7 февраля 2019 23:42 -


Тупик. http://joxi.ru/J2bgRDLSXP05vA скрин запроса прикрепил

LazyDev
PHP-developer

LazyDev - 8 февраля 2019 00:03 -

Balumba, потому что вам нужно делать такой запрос
dle_root + 'engine/ajax/controller.php?mod=request'
где request название вашего файла.

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

Balumba
Юзер

Balumba - 8 февраля 2019 01:17 -

Спасибо большое!

Flash
Эксперт

Flash - 7 февраля 2019 23:32 -

Тут поменял - $.post("/engine/ajax/request.php" ?

Balumba
Юзер

Balumba - 7 февраля 2019 23:50 -

Да.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх