Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
Здравствуйте.
Есть код (взят из учебника):
В общем, с помощью функции createXMLHttp() создаётся объект и используется для запроса к серверу. Ответ сервера выводится с помощью alert'а.
Вопрос, возможно ли как-нибудь переписать эту функцию, чтобы она возвращала переменную с?
То есть, нужна возможность сделать что-то типа такого:
Чтобы в x у нас оказался ответ сервера. Такое возможно?
Есть код (взят из учебника):
В общем, с помощью функции createXMLHttp() создаётся объект и используется для запроса к серверу. Ответ сервера выводится с помощью alert'а.
Вопрос, возможно ли как-нибудь переписать эту функцию, чтобы она возвращала переменную с?
То есть, нужна возможность сделать что-то типа такого:
Чтобы в x у нас оказался ответ сервера. Такое возможно?
-
-
03.04.2012 в 18:31var c = oXmlHttp.responseText;
alert (c);
-
-
03.04.2012 в 18:36-
-
03.04.2012 в 18:38-
-
03.04.2012 в 18:39-
-
03.04.2012 в 18:50var c = oXmlHttp.responseText;
alert (c);
Это да, это я понимаю. Мне нужно её вернуть в вызывающую функцию.
Лучше всего начать диалог с описания, чего вы хотите добиться таким образом.
Суть. Есть функция, которая проверяет кучу всего, типа такой:
function tuchka ()
{
if (условие 1)
{
действие;
return ("false");
}
if (условие 2)
{
действие;
return ("false");
}
...
if (условие N)
{
действие;
return ("false");
}
}
Мне нужно написать ряд проверок в корых блок if будет выглядеть примерно так:
if (getAjax(url) == "значение")
{
действие;
return ("false");
}
Для этого мне надо, чтобы getAjax(url) возвращала ответ сервера, чтобы я мог его проверить. Я вот не знаю, как это корректно сделать. Потому и задал сюда вопрос.
-
-
03.04.2012 в 18:51-
-
03.04.2012 в 19:00Не совсем понял, мне надо чтобы это было незаметно для пользователя.
или менять какую либо глбальную переменную
Если имеется в виду:
...
var c;
...
c = oXmlHttp.responseText;
...
То есть, объявить с в начале функции getAjax(url), то тут получается такая радость, что в с не попадает ответ сервера, а попадает undefined.
-
-
03.04.2012 в 19:20Другой вариант вроде бы фурычит, но не совсем правильно.
1) Объявляю вне всех функций переменную: var a = "null";
2) внутри getAjax(url) прописываю: а = oXmlHttp.responseText;
3) в функции с проверкой, пишу getAjax(url);
4) проверяю a.
Вроде всё нормально, но при первой проверке в а всё равно null. Со второй проверки и дальше - в а находится ответ сервера.
Можно конечно два раза вызвать getAjax(url), чтобы избежать null при первой проверке, но почему-то мне кажется, что это не совсем корректно.
upd: вариант с двойным вызовом getAjax(url) не фурычит - первая проверка так же выдаёт null.
-
-
03.04.2012 в 20:27anton.shevchuk.name/javasсript/jquery-for-begin...
-
-
04.04.2012 в 00:17Т.е. это будет выгледять не
if (getAjax(url)) ляляляа наподобие
getAjax(url, function(){ ляляля } );-
-
04.04.2012 в 00:21-
-
04.04.2012 в 05:06-
-
04.04.2012 в 11:10-
-
04.04.2012 в 11:13-
-
04.04.2012 в 11:20-
-
04.04.2012 в 11:32