Как я могу использовать Ajax-запрос для нескольких файлов?

#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
  

У меня есть другой способ сделать это:

  1. Добавить содержимое newsletter_init.js для каждого файла и изменить URL, но это не лучший способ подойти к этому.

  2. Я пытался использовать __DIR___ в PHP, но я не понимаю, как использовать его в этой ситуации.

  3. Я пробовал $(location).attr(pathname); в jQuery, но он также возвращает имя файла, например localhost/homepage/index

  4. Я не могу использовать прямой URL, так как я перейду с локального хостинга на свой сайт, поэтому мне нужен динамический способ.

Комментарии:

1. Просто используйте URL-адрес, относящийся к домену, начинающийся с косой черты.

2. @CBroe Можете ли вы привести пример для относительного URL? Я имею в виду, как я могу использовать относительный URL для нескольких файлов?

Ответ №1:

Просто убедитесь, что ваш путь относится к корневому каталогу.

 /res/ajax/request_newsletter.php
  

Не:

 res/ajax/request_newsletter.php
  

Если вы не добавите первую косую черту, он попытается найти этот путь, начинающийся в каталоге, в котором вы выполняете вызов (т. Е. Везде, где запущен ваш текущий PHP-скрипт).

Комментарии:

1. Большое вам спасибо, это упростило весь проект, а не только мою проблему