Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

%=Rodrigo %

> Servidor sem resposta, Exibir mensagem de erro

Recommended Posts

Bom dia, sou programador web estou iniciando no uso da tecnologia Ajax.Estou com um problema e gostaria que , se alguém souber como, me de uma ajuda.Estou fazendo uma página na qual uso Ajax para exibir algumas informações de Status para um call center, sendo que, as informações que exibo são solicitadas a um arquivo php com conteúdo xml no servidor através do método XMLHttpRequest.O problema é o seguinte, de 5 em 5 segundos , o servidor reenvia os dados e eu os trato em minha página. O problema é que quando o mesmo cai simplesmente o conteúdo da minha página "congela" e não consigo saber mais o que está ocorrendo para poder exibir a mensagem de status correta, que no caso seria sem conexão com o servidor. Gostaria de saber se existe alguma outra saída além de um timeout para este caso. Se alguém souber, ficarei grato de ser informado.Agradeço desde já.Até mais

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você deve estar usando ajax síncrono não é?Tente usar de forma assíncrona:ajax1.open("GET", url ,true);//PEsquise melhor sobre isto no google que você irá entender.

Compartilhar este post


Link para o post
Compartilhar em outros sites

de uma olhada no codigo<script type="text/javascript" language="javascript">var http_request = false;var i=0;var flag=0;function makeRequest(url) { http_request = false; if (window.XMLHttpRequest) { // Mozilla, Safari,... http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { http_request.overrideMimeType('text/xml'); // See note below about this line } } else if (window.ActiveXObject) { // IE try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request) { alert('Giving up :( Cannot create an XMLHTTP instance'); return false; } http_request.onreadystatechange = alertContents; http_request.open('GET', url, true); http_request.send(null); }function timeout(){ if (flag==0){ http_request.abort(); alert('sem resposta'); puxa_xml(); }}function puxa_xml() { // var intervalo = setInterval(timeout(),8000); var intervalo = setTimeout("timeout()",8000); makeRequest('get.php'); }var cnt = 1;function alertContents() { //var root_node ; document.getElementById("evento").innerHTML=(http_request.readyState) + ' - ' + http_request.status; if (http_request.readyState == 4) { if (http_request.status == 200) { // alert("Vou Chamar o Timeout"); // clearTimeout(intervalo); // alert(http_request.responseText); var xmldoc = http_request.responseXML; var root_node = xmldoc.getElementsByTagName('linha').item(i); flag = xmldoc.getElementsByTagName('linha').item(0); document.getElementById('teste').innerHTML = cnt + ' ' + (root_node.firstChild.data); // document.getElementById('teste_2').innerHTML = (root_node.firstChild.data); document.getElementById('flag').innerHTML=(flag.firstChild.data); cnt = cnt + 1; i++; if (i==3){ i=0; } puxa_xml(); clearTimeout(intervalo); } else { alert('There was a problem with the request.'); } } } </script> <spanstyle="cursor: pointer; text-decoration: underline"onclick="puxa_xml()">Make a request</span><table border="1"><tr><td><div id='teste'>CallBOX</div></td><td><div id='evento'>CallBOX 2</div></td></tr></table> <div id='flag'>0</div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

vê se isso ajuda::o http_request.status retorna vários status100 - Continue101 - Switching protocols200 - OK201 - Created202 - Accepted203 - Non-Authoritative Information204 - No Content205 - Reset Content206 - Partial Content300 - Multiple Choices301 - Moved Permanently302 - Found303 - See Other304 - Not Modified305 - Use Proxy307 - Temporary Redirect400 - Bad Request401 - Unauthorized402 - Payment Required403 - Forbidden404 - Not Found405 - Method Not Allowed406 - Not Acceptable407 - Proxy Authentication Required408 - Request Timeout409 - Conflict410 - Gone411 - Length Required412 - Precondition Failed413 - Request Entity Too Large414 - Request-URI Too Long415 - Unsupported Media Type416 - Requested Range Not Suitable417 - Expectation Failed500 - Internal Server Error501 - Not Implemented502 - Bad Gateway503 - Service Unavailable504 - Gateway Timeout505 - HTTP Version Not Supported

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.