Jump to content
  • 0

ajax, ожидание ответа сервера. хелп!


Дядя Саша
 Share

Question

_sendRequest: function(msg) {
var http_request = false;
var url = "params.php";

if (window.XMLHttpRequest) {
http_request = new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}

http_request.open("POST", url, true);
http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
http_request.setRequestHeader("Connection","close");
http_request.send("params=" + xScreen.jsonParser._stringify(msg));

if (http_request) {
try {
var intervalID;
function getResponse() {
if (intervalID) {
clearInterval(intervalID);
}
if (http_request.readyState != 4) {
intervalID = setInterval(getResponse, 20);
} else {
return http_request.responseText;
}
}
getResponse();
} catch(e) {
alert(xScreen.locale.serverResponseError);
return false;
}
} else {
return false;
}
},

Это вся ф-ия, а вот кусочек с которым у меня непонятности:

 if (http_request) {
try {
var intervalID;
function getResponse() {
if (intervalID) {
clearInterval(intervalID);
}
if (http_request.readyState != 4) {
intervalID = setInterval(getResponse, 20);
} else {
return http_request.responseText;
}
}
getResponse();
} catch(e) {
alert(xScreen.locale.serverResponseError);
return false;
}
} else {
return false;
}

Дело все в том что я хочу вот так получать ответ:

var response = xScreen._sendRequest(request);

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

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Можно и так, показывай :)

Или может объясни мне как правильно реализовать второй кусочек кода. Я то понимаю почему у меня в переменную попадает undefined. У меня этот кусочек с ф-ией при первом проходе это и возвращает. А как сделать правильно я пока не понял.

Link to comment
Share on other sites

  • 0

Используй jQuery и не парься даже с самостоятельными реализациями ajax.

Подключаем библиотеку с Google, просто чтобы не качать ее.

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js" type="text/javascript"></script>

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

вот примеры использования jQuery

http://docs.jquery.com/Ajax/jQuery.get#urldatacallbacktype

Link to comment
Share on other sites

  • 0
Можно и так, показывай :)

Или может объясни мне как правильно реализовать второй кусочек кода. Я то понимаю почему у меня в переменную попадает undefined. У меня этот кусочек с ф-ией при первом проходе это и возвращает. А как сделать правильно я пока не понял.

Дай свою почту :cool:

Link to comment
Share on other sites

  • 0

Я в курсе что такое jQuery.js, и даже вполне допускаю ее использование для решения несложных задач, но этот проект я бы ей не доверил наверно ни за что, не из за чего такого особенного, просто я не обязан доверять ей вот и все, тем более учитывая все сказанное про не? довольно опытными людьми... К тому же у меня уже и так пол метра кода и все чем мне могла помочь jQuery.js уже наверно реализовано, Просто до этого, пока не была реализована серверная часть, я хранил все данные в локальных переменных, а теперь добрался до аякса, с которым ранее дела не имел.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy