Итак, мой js-файл отлично работал:
function checkLoggedIn() {
new Request.JSON({
url: 'http://localhost/site/ajax/auth.php',
onSuccess: function(data) {
// Do some stuff
}
}).send('action=check');
}
Тогда я решил предоставить свою страницу остальному миру, поэтому я изменил код таким образом:
function checkLoggedIn() {
new Request.JSON({
url: '<?=SOME_URL=>ajax/auth.php',
onSuccess: function(data) {
// Do some stuff
}
}).send('action=check');
}
Где в PHP я определил SOME_URL для указания на веб-сервер. Я пытался протестировать сайт на той же машине (веб-сервере), но представьте мое удивление, когда это не сработает! Запрос просто не прошел, хотя я понятия не имею, как проверить, какое там сообщение об ошибке. Моя консоль js пуста.
Что странно, если я заменяю URL-адрес относительным путем, он работает нормально.
Я попытался получить доступ к веб-серверу на другом компьютере со вторым фрагментом кода, и он прекрасно работает. Разве анализатору js в браузере сервера (firefox) не нравится запрос, указывающий на себя? Почему он предпочитает "http://localhost/" над полным доменным именем?
Спасибо!
Редактировать: Для тех, кому интересно, что показывает источник:
function checkLoggedIn() {
new Request.JSON({
url: 'http://www.example.com/application/ajax/auth.php',
onSuccess: function(data) {
// Do some stuff
}
}).send('action=check');
}
Сама машина - example.com, определена как таковая на машине и через apache confs.