Можно ли вызвать серверную часть javaScript? - PullRequest
0 голосов
/ 31 октября 2010

привет всем, что мне было интересно, возможно ли отправить некоторый код javaScript в ответе контроллера, означая, что я хочу вызывать javaScript, но не из jsp (со стороны сервера) что-то вроде:

var d = new Date();
var gmtHours = -d.getTimezoneOffset()/60;
var tz=gmtHours;
window.location="page?tz="+tz;

как вы думаете, ребята?

Ответы [ 2 ]

0 голосов
/ 01 ноября 2010

Ответ состоит из двух частей:

Выполнение JavaScript, когда ответ возвращается с сервера.Чтобы сделать это, вы можете написать Javascript в html, что-то вроде

<script>
    alert("This code just executed");
</script>

, обычно у людей есть что-то вроде

<script>
    function init() {
    document.getElementsByTagName('input')[0].focus();"
    }
    window.onload = init;
</script>

Он будет выполнять вашу функцию при загрузке Windows.* Похоже, вы хотите знать часовой пояс для пользователя, которому вы отображаете результаты.Как уже упоминалось, HTTP-заголовки не имеют этой информации, поэтому вам нужно отправить ее или сохранить как предпочтения пользователя.Если вы не хотите хранить его, вам нужно добавить его к каждой отправке или URL-адресу.Таким образом, вы всегда будете иметь часовой пояс на стороне сервера, и вам не нужно будет делать 2 поездки в оба конца.

Рабочий процесс может выглядеть следующим образом: 1. Пользователь отправляет форму или щелкает ссылку -> 2. вы формируете результаты на стороне сервера -> 3. отображаете результаты на стороне клиента.

Выглядиткак вы хотите, чтобы показать некоторые даты / время, специфичные для часового пояса.Если вы отправляете данные клиенту с помощью ajax, вы можете получить их в javascript до шага 3 и изменить их в соответствии со своими предпочтениями.Если вы хотите выполнить все форматирование на стороне сервера, вам нужно отправить часовой пояс с исходным запросом на шаге 1. Вы можете добавить еще 2 шага 1.2, чтобы отправить запрос на часовой пояс в ответ на действие пользователя.1.3 Повторно отправьте запрос с информацией о часовом поясе, используя JavaScript.Это не оптимально, но может работать.

0 голосов
/ 31 октября 2010

Мне все еще не очень ясно по этому вопросу.Но если вы запрашиваете javavscript, когда ответ возвращается с сервера, вы можете использовать AJAX и выполнять обработку в обратном вызове.

Если вы хотите получить доступ к часовому поясу, чем другой способ отправить его как частьпараметра в самом начале как параметр запроса.

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