jquery ajax и полный путь к серверу

Есть ли способ использовать полный путь к серверу вместо URL-адреса при отправке формы через ajax с помощью jquery?

Пример ниже не работает, но он даст вам представление о том, что я пытаюсь сделать. Я знаю, что вы не можете выполнять междоменные ajax-запросы, но все это на одном физическом сервере.

Я не хочу настраивать прокси или что-то слишком сложное, если нет способа сделать это легко, я просто перемещу несколько файлов на сервер, но я надеялся, что может быть простое решение.

$.ajax({  
      type: "POST",  
      url: "/home/full/server/path/file.php",  
      data: theData,  
      success: function() {  
        $('div#success').fadeIn('fast');
      }  
    });

Спасибо!


person Enkay    schedule 13.08.2009    source источник


Ответы (3)


Нет, это не сработает. Это не общедоступные URI, это фактические пути сценариев, которые не видны клиенту.

person karim79    schedule 13.08.2009

Есть ли способ использовать полный путь к серверу вместо URL-адреса при отправке формы через ajax с помощью jquery?

Вы можете использовать местоположение, чтобы получить текущий сервер:

url: location.protocol + "//" + location.host + "/home/full/server/path/file.php"

Но вы не можете использовать абсолютный путь для междоменных запросов.

person Dmytrii Nagirniak    schedule 13.08.2009
comment
Да, но не для межсайтовых запросов :) Это по сути ничем не отличается от использования относительного пути. Он просто использует абсолютный путь. Иногда может быть полезно, если вы не знаете, на какой странице будет запущен скрипт (поэтому вы не можете использовать относительный путь), - person Dmytrii Nagirniak; 14.08.2009

Веб-серверы так не работают. Есть очевидные причины безопасности, почему. Однако вы можете использовать относительный путь.

person Jataro    schedule 13.08.2009