Loopback JQuery AJAX Запрос - PullRequest
       9

Loopback JQuery AJAX Запрос

2 голосов
/ 02 декабря 2008

Каков наилучший способ создания петлевого URL для вызова AJAX? Скажем, у меня есть страница на

http://www.mydomain.com/some/subdir/file.php

, который я хочу загрузить с помощью вызова AJAX. В Firefox, используя jQuery, это прекрасно работает:

$.post('/some/subdir/file.php', ...);

Safari / WebKit пытается интерпретировать это как местоположение в локальной файловой системе (поэтому в конечном итоге он переводится в «file: //some/subdir/file.php»). Это не только не указывает на что-либо полезное, но также приводит к ошибке безопасности.

Есть ли способ сделать это без жесткого кодирования домена в URL? Я хотел бы сделать это как можно более независимым от домена.

Обновление

Я закончил анализом базового URL-адреса из location.href и выбросил его в доступную функцию jQuery, например:

/**
 * Retrieves the current root URL.
 *
 * @return string the root URL
 */
$.fn.rootUrl = function() {
    var url = location.href;
    return url.substring(0, url.indexOf('/', 7));
};

Ответы [ 3 ]

1 голос
/ 02 декабря 2008

Когда сервер обслуживает страницу, сервер может вставить свой собственный URL-адрес в качестве переменной javascript, а затем использовать эту переменную как часть ваших вызовов Ajax. Тогда он будет безопасным и автоматическим.

1 голос
/ 02 декабря 2008

Кроме того, вы можете собрать свой URL следующим образом:

http://'+document.domain

1 голос
/ 02 декабря 2008

Ничего себе, это довольно плохо Safari / WebKit, IMO.

Вы можете наблюдать document.href, считать косую черту и добавлять столько «../» в начало вашего URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...