Работаю с open server.
Часть кода скрипта autocomplete.php
$("#autocomplete_search_box").keyup(function(){
$.ajax({type: "POST",url: "<?php echo $autocomplete['script_path'].'?box_number=1'; ?>",
.............................
Скрипт autocomplete.php подключается (include ) во многих php файлах.
В файлах которые лежат в папке сайта, в подпапках сайта и т.д.
Так как файлы лежат на разных уровнях вложенности, то и путь url: в подключаемом файле autocomplete.php будет разным.
Поэтому мне приходится в каждом файле, где будет использоваться autocomplete.php делать так
$autocomplete['script_path']='common/autocomplete/select_data.php'; //url: относительно файла, куда будет включен текст скрипта autocomplete.php
include ($_SERVER['DOCUMENT_ROOT'].'/common/autocomplete/autocomplete.php'); //а вот и включение/инклуд скрипта
Такой подход создает много путаницы. Много файлов, много директорий, разные уровни вложенности, разные include - бывает трудно понять какой файл вызван/включен в какой.
Хочется сделать вот так
......
$.ajax({type: "POST",url: "<?php $_SERVER['DOCUMENT_ROOT'].'/common/autocomplete/autocomplete.php?box_number=1'; ?>",
.............................
Но это дает абсолютный путь и скрипт не работает.
D:/OpenServer/domains/my_site.ru/common/autocomplete/select_data.php?box_number=1
действительно, не похоже на url.
А вот с таким путем
url:common/autocomplete/select_data.php?box_number=1
всё работает.
Как формировать url (путь) в JS скрипте?