Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 14700

XMLHttpRequest() problema no retorno dos dados.

$
0
0
Boa tarde,

O problema é o seguinte, eu tenho o meu servidor em que chamo uma pagina html simples com um botão que por sua vez quando carrego chamo o javascript associado.

Este script tem o objectivo de mandar um request para outra página em outro domínio e receber o seu resultado.

Se eu fizer isto para uma página no meu domínio funciona bem os dados são devolvidos, mas para fazer com o url para outro site que não esteja no meu servidor devolve-me sempre o status = 0.

como é que posso resolver este problema?  
É que preciso de comunicar e receber o retorno da outra página fora do meu domínio.

Segue o código da página html simples que tenho para testar:


Código (Javascript):
<script>
var req;

function checkStatus() {
var url = 'https://paginaParaEnviar/IsUserAuthenticated.aspx';

req = new XMLHttpRequest();

if (req != null) {
if ("withCredentials" in req) {
req.open("GET", url, true);
req.setRequestHeader("Content-type", "text/plain");
req.withCredentials = "true";
req.onreadystatechange = function() { process(req) };
req.send(null);

}
else if (typeof XDomainRequest != 'undefined') {
alert('undefined');
req = new XDomainRequest();
req.open("GET", url);
req.onload = function() {
var response = req.responseText;
if (response == "1") {
document.cookie = "CheckAuthentication=1;path=/";
//window.open('Default.aspx','_self');
alert('valor 1.1');
}
else{
document.cookie = "CheckAuthentication=0;path=/";
alert('valor 0.0');
}
};
req.send();
}
}
}

function process(request){
alert('inicio js');
if (request.readyState == 4) {
alert("satatus: "+request.status);
if (request.status == 200) {
var response = request.responseText;
alert("response: "+response);
if (response == "1") {
document.cookie = "CheckAuthentication=1;path=/";
//window.open('Default.aspx','_self');
alert('valor 1');
}
else{
document.cookie = "CheckAuthentication=0;path=/";
alert('valor 0');
}
}
}
}

</script>
<html>
<head>
</head>
<body>

<h2>Using the XMLHttpRequest object</h2>
<div id="myDiv"></div>
<button type="button" onclick="checkStatus(); return false;">user registado</button>

</body>
</html>

Ex:
caso use um url do meu domínio funciona bem, devolve status = 200 e respectiva mensagem

caso use um url para uma página fora do meu domínio devolve sempre o status = 0

Alguma ajuda do que pode ser e como resolver?

Viewing all articles
Browse latest Browse all 14700

Trending Articles