Простая передача переменных JS - PullRequest
0 голосов
/ 06 июня 2009

У меня есть звонок в XHR для получения даты, но, похоже, я не могу передать ее на страницу. Мне просто нужно передать дату из вызова XHR в переменную, которая будет вставлена ​​через document.write.

Вот мой код:

var upDated

function getUpdated(){

xmlhttp.open("HEAD", "MBP_box.JPG",true);
 xmlhttp.onreadystatechange=function() {
  if (xmlhttp.readyState==4) {
   upDated = xmlhttp.getResponseHeader("Last-Modified");
   alert(upDated);
  }
 }
 xmlhttp.send(null)
}

и в теле ....

document.write(upDated);

Ответы [ 2 ]

3 голосов
/ 06 июня 2009

вместо оповещения (upDated); у вас должно быть что-то вроде:

document.getElementById("some-element").innerHTML = upDated;

Идея довольно проста: вы должны хранить логику внутри функции обратного вызова (той, которая назначена onreadystatechange), поскольку вы не знаете, когда она будет вызываться (она будет вызываться, когда браузер получит какой-то ответ от сервера , чего может и не случиться). Поэтому после установки этого соединения не будет кода.

0 голосов
/ 06 июня 2009

Я не уверен, что понимаю, что вы хотите - вы хотите, чтобы значение upDated, возвращаемое с помощью вызова Ajax, было вставлено в тело документа с помощью document.write?

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

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