Я новичок в javascript и всей внешней стороне разработки.
Вот что я использую:
- Java-сервлет, работающий на Tomcat7
- twitter-bootstrap для макета / темы
- Pubnub для отслеживания того, сколько раз отправляется форма
- Javascript / jquery для отображения этого значения на веб-странице.
Я добавил обратный вызов PUBNUB.subscribe, который прекрасно обновляет значение на веб-странице. Однако, когда я впервые загружаю веб-страницу, я не знаю, какое значение я должен отобразить.
Вот что я сделал, чтобы преодолеть эту проблему:
Я добавил метод к сервлету, который при передаче правильного параметра в запросе POST отправляет сообщение pubnub с отображаемой суммой, которая работает нормально.
Затем я попытался вызвать POST-запрос, используя jquery, например:
$.post("../servlets/theservlet",
{
update : "true"
});
Я попытался поместить это в функцию $ (window) .load, но когда я загрузил веб-страницу, она не сделала то, что я ожидал.
Я ожидал, что это сделает POST после того, как все будет загружено, что приведет к публикации сообщения pubnub из сервлета, что активирует метод обратного вызова в функции PUBNUB.subscribe. Однако значение не изменилось, оно осталось заполнителем, жестко закодированным в html.
В настоящее время я сейчас вызываю setTimeout ("updateUses ()", 1500); из функции $ (window) .load. updateUses () - это точно такой же вызов $ .post, который я показал ранее.
Теперь, когда я загружаю страницу, значение заполнителя там немного (кажется, больше 1,5 мс), а затем оно обновляется до правильного значения. Если я удаляю setTimeout и просто вызываю updateUses () напрямую, то больше ничего не происходит.
Что мне нужно изменить, чтобы оно загружало значение мгновенно (или, по крайней мере, без заметной задержки)?