|
|
|
|
function getInfo(dataSource) {
if(XMLHttpRequestObjectMAID) {
XMLHttpRequestObjectMAID.open("GET",dataSource);
XMLHttpRequestObjectMAID.onreadystatechange = function()
{
if (XMLHttpRequestObjectMAID.readyState == 4 && XMLHttpRequestObjectMAID.status == 200) {
return XMLHttpRequestObjectMAID.responseText;
}
}
}
XMLHttpRequestObjectMAID.send(null);
}
|
- Вот.
Главное когда пишеш вместо return - document.getElementById('element').innerHTML = XMLHttpR... то вске работает. а как переменную вернуть так нивкакую.
а так возвращает undefined !
Уверен что поможете мне. Спасибо! | |
|
|
|
|
|
|
|
|
для: toproot
(24.09.2011 в 23:21)
| | >а как переменную вернуть так нивкакую. а так возвращает undefined !
А куда (кому) вы эту переменную "возвращаете"?
Получается, что возвращаете вы полученное от сервера текстовое значение событию onreadystatechange.
Положим, вернет вам сервер строку ХА-ХА.
Ну и как должен реагировать браузер на onreadystatechange = ХА-ХА ? :-)) | |
|
|
|
|
|
|
|
для: АЯС
(25.09.2011 в 09:28)
| | Как же тогда получить переменную ?
Может выгрузить ее сначало в невидимый слой а потом из него извлечь ? | |
|
|
|
|
|
|
|
для: toproot
(25.09.2011 в 14:50)
| |
if (XMLHttpRequestObjectMAID.readyState == 4 && XMLHttpRequestObjectMAID.status == 200) {
return XMLHttpRequestObjectMAID.responseText;
|
замените на
if (XMLHttpRequestObjectMAID.readyState == 4 && XMLHttpRequestObjectMAID.status == 200) {
var peremennaya = XMLHttpRequestObjectMAID.responseText;
|
| |
|
|
|
|
|
|
|
для: deimand
(25.09.2011 в 15:04)
| | Но ведь переменная var peremennaya - локальная. Естественно ее нигде больше не достать.
global насколько я знаю в JS нет такого.. | |
|
|
|
|
|
|
|
для: toproot
(25.09.2011 в 16:09)
| |
var peremennaya = XMLHttpRequestObjectMAID.responseText;
|
| |
|
|
|
|
|
|
|
для: АЯС
(26.09.2011 в 01:47)
| |
function getInfo(dataSource) {
if(XMLHttpRequestObjectMAID) {
XMLHttpRequestObjectMAID.open("GET",dataSource);
XMLHttpRequestObjectMAID.onreadystatechange = function()
{
if (XMLHttpRequestObjectMAID.readyState == 4 && XMLHttpRequestObjectMAID.status == 200) {
per = XMLHttpRequestObjectMAID.responseText;
}
}
}
XMLHttpRequestObjectMAID.send(null);
//return per;
}
|
- Возвращает undefined. Незнаю чего можна добистья убрав var. | |
|
|
|
|
|
|
|
для: toproot
(26.09.2011 в 19:02)
| | После долгого и мучительного сидения за компом я понял что JavaScript просто игнорирует мою функцию. оставляет ее на потом. Все выполнилось, а потом в конце ета функция. такое не годитсья.
Как заставить силой выполнятсья ету функцию вовремя? | |
|
|
|
|
|
|
|
для: toproot
(26.09.2011 в 20:50)
| | >Как заставить силой выполнятсья ету функцию вовремя?
Никак не заставить.
Эта функция запускается по событию onreadystatechange при двух условиях: readyState == 4 и status == 200.
Когда два эти условия будут исполнены - никому не известно, ибо зависит это от многих факторов (в т. ч. скорость интернет-соединения, пропускная способность канала связи, быстродействие компьютера...). Может сработать через миллисекунду, а может - и через минуту.
"По уму" все необходимые вам действия с переменной per надо производить ВНУТРИ этой же функции (где эта переменная получает своё значение). Тогда НИКАКИХ проблем у вас не будет. | |
|
|
|