Путь от корня сайта
Запрашиваю страницу http://example.com/, там подключается JS-сценарий с таким кодом:
$.post('/init', {}, ...); (запрос к http://example.com/init) Но относительный путь $.post('init', {}, ...); не работает. В логах 404 нигде не вижу, т.е. запрос видимо не происходит вообще. Как получить путь от корня сайта, т.е. аналог dirname($_SERVER['PHP_SELF']) из PHP, чтобы можно было писать $.post(path + 'init', {}, ...); ? |
echo $_SERVER['DOCUMENT_ROOT'].'/'; |
Вы отвечаете, не читая?
|
Цитата:
|
Я этого не просил, поменьше курите травы. Мне нужна переменная на JavaScript, содержащая путь от корня САЙТА, а не DOCUMENT_ROOT на сервере. Эту переменную не должен генерировать PHP вообще.
|
а если вам все же нужен релативный путь от пути $_SERVER['DOCUMENT_ROOT'] до файла, то прям так и надо говорить... а не понятно что.
echo str_replace( $_SERVER['DOCUMENT_ROOT'], '', dirname( __FILE__ ) ); |
alert( document.location.pathname ); |
Smoker, фигня творится.
внимательно логи смотрели ? и что такое /init ? это картинка такая , index.html или скрипт? раз запрос не выполняется, то это вообще никак от путей не зависит. у вас плохая трава, запрос будет выполняться при таком url, но ругаться на что-то. или, может, вы забыли обработчики success, error, complete повесить? |
Это не "релативный путь", а как раз вполне "абсолютный". К файлам и путям на сервере это не имеет никакого отношения, потому что речь идёт о виртуальном адресе. Спасибо.
|
melky, там было перенаправление с /init на /init/ (http://example.com/init/ отдаёт JSON, если интересно) и происходил GET-запрос. А разрешён только POST-запрос к http://example.com/init/
Отсюда я в логах и не увидел ошибок. Такая вот фигня. То есть да, я мудак, настоящий код выглядит так: $.post('init/', ...); и теперь он работает. |
Часовой пояс GMT +3, время: 01:21. |