Bom dia Pessoal,
Eu tenho uma servlet que roda no servidor A.
Em um servidor B eu tenho uma página que faz a chamada na Servlet do servidor A e processa a resposta.
Eu faço tudo via ajax.
Aqui o meu javascript da página no servidor B que faz uma chamada na servlet via ajax:
<script type="text/javascript">
var ajax = null;
function onPesquisar(){
try
{
document.getElementById('clResultado').innerHTML = ' ';
document.getElementById('clDownload').innerHTML = ' ';
document.getElementById('clImagemResultado').innerHTML = ' ';
document.getElementById('clImagemDownload').innerHTML = ' ';
document.getElementById('linharesultado').innerHTML = ' ';
var cpfCnpj = document.frmPesquisa.cpfCnpj.value;
var placa = document.frmPesquisa.placa.value;
if(cpfCnpj == ''){
alert('Informe o CPF ou CPNJ');
return;
}
if(placa == ''){
alert('Informe a placa');
return;
}
if (window.ActiveXObject){
ajax = new ActiveXObject('Microsoft.XMLHTTP');
}
else if (window.XMLHttpRequest){
ajax = new XMLHttpRequest();
}
if(ajax != null){
ajax.open('GET','http://10.0.0.105:9090/psqCliente/pesquisaSituacaoCliente?cpfCnpj='+cpfCnpj+'&placa='+placa,true);
ajax.onreadystatechange = reposta;
ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
ajax.send(null);
}
}
catch(err)
{
document.getElementById('clResultado').innerHTML = 'Não foi possível realizar a consulta.';
document.getElementById('clImagemResultado').innerHTML = '<img src="imagens/bt_block.gif" width="51" height="54" />';
return;
}
}
function reposta(){
if (ajax != null && ajax.readyState == 4){
if (ajax.status == 200){
retornoPesquisa(ajax.responseText);
}else if(ajax.status==0){
alert("Nenhuma reposta para a consulta.");
}
}
}
function retornoPesquisa(resposta){
var ret = eval(resposta);
if(ret[0].url){
document.getElementById('clResultado').innerHTML = ret[0].strRetorno;
document.getElementById('clDownload').innerHTML = ret[0].url;
document.getElementById('clImagemDownload').innerHTML = '<img src="imagens/bt_download.gif" width="51" height="54" />';
if(ret[0].strRetorno != ''){
document.getElementById('clImagemResultado').innerHTML = '<img src="imagens/bt_block.gif" width="51" height="54" />';
}
}else{
document.getElementById('clResultado').innerHTML = ret[0].strRetorno;
document.getElementById('clImagemResultado').innerHTML = '<img src="imagens/bt_block.gif" width="51" height="54" />';
}
document.getElementById('linharesultado').innerHTML = 'RESULTADO';
}
</script>
Quando eu executo a chamada na página estando ela e a Servlet no mesmo servidor, funciona normalmente, mas quando eu coloco a página no outro servidor para fazer a mesma chamada, não funciona.
Existe alguma coisa que não fiz para funcionar???
Os 2 servidores são tomcat e eu tenho que manter página e servlet em servidores diferentes.
Depurando eu vi que a página estando no servidor B, chama a Servlet e ela retorna a reposta correta, só que o meu ajax.status é sempre 0 e com isso não executa nada.
Via firebug eu não vi nenhum erro de reposta.
Alguém poderia me ajudar?