Ir para conteúdo
Fórum Script Brasil
  • 0

Ajax com JavaScript


William Werneck

Pergunta

Eu possuo a função abaixo que preenche uma lista dinâmica apartir da escolha de uma opção em uma combo.

Mais infelizmente ela só funciona se eu estiver acessando o site da minha própia máquina.

Caso eu faça algun teste de outra máquina o Ajax não retorna os dados.

Alguém poderia me Ajudar.

//função em ajax que vai buscar a página que preenche a lista
        function preenchelista(codSistema)
        {
        
            /*----------------------------------------------------------------------------------------------*/
            // criacao do objeto XMLHTTP do arquivo ajax.js
            var oHTTPRequest = createXMLHTTP(); 
            
            oHTTPRequest.open("post", "http://localhost/PrudAccess2008/objPerfilAplic.asp", true); //enviamos para a página que faz o select do que foi digitado e traz a lista preenchida.
            // para solicitacoes utilizando o metodo post deve ser acrescentado 
            
            // este cabecalho HTTP
            oHTTPRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            // a funcao abaixo e executada sempre que o estado do objeto muda (onreadystatechange)
            oHTTPRequest.onreadystatechange=function()
            {
                // o valor 4 significa que o objeto já completou a solicitacao
                if (oHTTPRequest.readyState==4){// abaixo o texto gerado no arquivo executa.asp e colocado no div
                    var perfilAplic;
                    var i;
                    // A variavel abaixo recebe o texto "1#PerfilAplicacao A|2#PerfilAplicacao B|3#PerfilA ..."  que foi gerado pelo ASP
                    var perfilAplics = oHTTPRequest.responseText;
                    
                    // Aqui corta os textos nos "|"
                    var list_perfilAplic = perfilAplics.split("|");
                    
                    // Lista dado por dado dos cortados
                    for (i = 0; i < list_perfilAplic.length; i++) {
                        // Aqui corta os textos nos "|"
                        perfilAplic = list_perfilAplic[i].split("#"); 
                        frmPerfilFuncional.lstTodos.options[i] = new Option(perfilAplic[1], perfilAplic[0]);
                    }
                    
                    //Elimina todos os dados que não vieram na lista.
                    for (var j =i; j < frmPerfilFuncional.lstTodos.length; j++) {
                        frmPerfilFuncional.lstTodos.options[j] = null;
                        j--;
                    }
                }
                
            }
            
            oHTTPRequest.send("cmbSistema=" + codSistema);
            
        }

Editado por fercosmig
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

O ajax tem uma restrição de domínios.

Você não pode requisitar informações que estejam em domínios diferentes.

Se você tentar incluir dados de uma página que não esta no mesmo domínio o js vai retornar uma exceção informando sobre a violação de privacidade.

O ajax deve SEMPRE requisitar páginas que estejam em seu próprio domínio.

Caso queira requisitar informações de domínios diferentes, deve executar a técnica de script tag.

Procure sobre script tag no google para entendê-la.

Abraço.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...