function enviarDados(args,url,funcao,exibicao) {
var requisicao = novaRequisicao();
var res = "'Aguarde'";
requisicao.onreadystatechange = function() { processaDados(); };
requisicao.open("POST",url,true);
requisicao.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
requisicao.setRequestHeader("Content-length", args.length);
requisicao.set
requisicao.setRequestHeader("Connection", "close");
requisicao.send(args);
function processaDados() {
if (requisicao.readyState == 4) {
if (requisicao.status == 200) {
if (exibicao != '' && exibicao != null) {
exibicao(requisicao.responseText);
}
}else{
if (exibicao != '' && exibicao != null) {
exibicao(requisicao.responseText);
}
}
}
}
if (funcao != null) { setTimeout('eval(' + funcao + ')',1000); };
}
function novaRequisicao() {
var tipoObj = false;
try {
tipoObj = new ActiveXObject('Msxm12.XMLHTTP');
} catch(e) {
try {
tipoObj = new ActiveXObject('Microsoft.XMLHTTP');
} catch(e) {
tipoObj = new XMLHttpRequest();
}
}
return tipoObj;
}
Esse programa funciona perfeitamente. Mas ela gera um certo delay. Gera demora. E tem casos que parece que o javascript segue o seu processamento sem antes receber uma resposta do servidor.
EX:
var teste = 0;
function inicio(){
obterNumero();
alert(teste);
}
function obterNumero(){
function gravarNumero(numero)
{
teste = numero;
}
var url = "programas/mov/saida.php";
var args = "acao=1&acesso=5";
enviarDados(args,url,"",gravarNumero);
}
Vamos supor que a função obterNumero receba do servidor o numero 10.
ERROS:
1- o alert que eu dei não vai mostrar o valor 10. E sim o valor 0 (valor inicial da variavel global)
2- Se eu der um alert do parametro numero dentro da função gravarNumero, o programa primeiro executa o alert que está dentro da função inicio() mostrando o valor de teste como 0... e só depois mostra o alert que esta na função gravarNumero, mostrando o valor correto que é 10.
Pergunta
PROGRAMADOR MAIA
Caros amigos desenvolvedores.
Estou com um problemão!!! rs
Criei uma função para requisição assim:
Esse programa funciona perfeitamente. Mas ela gera um certo delay. Gera demora. E tem casos que parece que o javascript segue o seu processamento sem antes receber uma resposta do servidor. EX:Vamos supor que a função obterNumero receba do servidor o numero 10.
ERROS:
1- o alert que eu dei não vai mostrar o valor 10. E sim o valor 0 (valor inicial da variavel global)
2- Se eu der um alert do parametro numero dentro da função gravarNumero, o programa primeiro executa o alert que está dentro da função inicio() mostrando o valor de teste como 0... e só depois mostra o alert que esta na função gravarNumero, mostrando o valor correto que é 10.
Pessoal como faço para corrigir isso?????
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.