Относительные URL Javascript разрешаются по-разному в зависимости от хоста - PullRequest
1 голос
/ 15 сентября 2010

Я получаю странное поведение с javascript, которое мне не удается понять: относительные URL-адреса javascript моего приложения разрешаются по-разному, в зависимости от того, где размещено приложение: a) IIS 5.1 моего компьютера (Windows XP) или b) мой хост-провайдер (который, я почти уверен, работает под управлением Windows Server 2003).

Поведение 1 (нормальное?) - с приложением, размещенным наIIS

моего компьютера * Если текущее местоположение браузера http://localhost/appvirtualdir/Newsletter/List и я запускаю

window.location = "../Newsletter/List" 
в консоли Firebug, браузер перенаправляется на http://localhost/appvirtualdir/Newsletter/List (остается на той же странице).

Поведение 2 (странное) - с приложением, размещенным на провайдере:

Если текущее местоположение браузера http://my.domain.com/appvirtualdir/Newsletter/List и я запускаю точно такой же скрипт внутри консоли Firebug, браузер перенаправлен на http://my.domain.com/appvdir/Newsletter/Newsletter/List,, который явно не существует.

Итак, вопрос: почему, во втором случае,разве javascript не "двигается вверх по дереву"?

Спасибо!

1 Ответ

1 голос
/ 15 сентября 2010

Вы уверены, что находитесь на URL http://my.domain.com/appvirtualdir/Newsletter/List и не используете http://my.domain.com/appvirtualdir/Newsletter/List/ (обратите внимание на косую черту)?

Сервер может подумать, что это каталог (вы перенаправлены на http://my.domain.com/appvirtualdir/Newsletter/List/, так или иначе, что возможно, так как завершающий / просто игнорируется, когда файл List находится в /appvirtualdir/Newsletter) и в этом случае браузер на стороне клиента считает, что вы находитесь в каталоге List.

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