#javascript #php #jquery #ajax
#javascript #php #jquery — запрос #аякс #jquery #ajax
Вопрос:
У меня есть файл JavaScript с именем newsletter_init.js
, и он выполняет Ajax-запрос.
Я добавляю этот JS-файл в каждый файл .php в моем проекте и решаю проблему здесь.
Например, я использую newsletter_init.js
в своем index.php
, и URL-адрес для запроса ajax будет res/ajax/request_newsletter.php
.
Хорошо, это работает, но когда я добавляю тот же файл JS в другой каталог, например, добавляю newsletter_init.js
в index.php
, но помещаю в папку blog, URL-адрес будет недействительным, так как он будет искать ../res/ajax/request_newsletter.php
вместо res/ajax/request_newsletter.php
.
Структура файла о области действия:
index.php
blog > index.php
У меня есть другой способ сделать это:
-
Добавить содержимое newsletter_init.js для каждого файла и изменить URL, но это не лучший способ подойти к этому.
-
Я пытался использовать
__DIR___
в PHP, но я не понимаю, как использовать его в этой ситуации. -
Я пробовал
$(location).attr(pathname);
в jQuery, но он также возвращает имя файла, например localhost/homepage/index -
Я не могу использовать прямой URL, так как я перейду с локального хостинга на свой сайт, поэтому мне нужен динамический способ.
Комментарии:
1. Просто используйте URL-адрес, относящийся к домену, начинающийся с косой черты.
2. @CBroe Можете ли вы привести пример для относительного URL? Я имею в виду, как я могу использовать относительный URL для нескольких файлов?
Ответ №1:
Просто убедитесь, что ваш путь относится к корневому каталогу.
/res/ajax/request_newsletter.php
Не:
res/ajax/request_newsletter.php
Если вы не добавите первую косую черту, он попытается найти этот путь, начинающийся в каталоге, в котором вы выполняете вызов (т. Е. Везде, где запущен ваш текущий PHP-скрипт).
Комментарии:
1. Большое вам спасибо, это упростило весь проект, а не только мою проблему