Getting Cannot read property 'documentElement' of null on my js

Wednesday, November 4, 2015

I am trying to make a login function using ajax to show message of error or succes to the user, but I am getting this error in the line ... of my js.



My html:





My php:



<?php
include_once './banco.php';

$usuario = $_GET['login'];
$senha = $_GET['senha'];
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
echo '<response>';
echo valida();
echo '</response>';

function valida() {
if (listaLogin($conexao, $usuario, $senha) == 1) {
$_SESSION['logado'] = true;
return '0';
} else {
if ($usuario == "" || $senha == "" || $usuario == null || $senha == null) {
return '1';
}

else {

return '2';
}
}
}
?>


My javascript:



var xmlHttp = createXmlHttpRequestObject();

function createXmlHttpRequestObject()
{
var xmlHttp;
if (window.ActiveXObject)
{
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
xmlHttp = false;
}
}
else {
try {
xmlHttp = new XMLHttpRequest();
}
catch (e) {
xmlHttp = false;
}
}
if (!xmlHttp)
// Erro ao criar objeto xmlHttp
showErrorDialog();
else
return xmlHttp;
}

function entrar()
{
document.getElementById("login-botao-entrar").value = "Entrando...";
if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0) {
// extrai dados
var login = document.getElementById("login-username").value;
var senha = document.getElementById("login-password").value;
// Executa o processamento.php do server
xmlHttp.open("GET", "login/processamento.php?login=" + login + "&senha=" + senha, true);
// Define um método para lidar com a resposta do servidor
xmlHttp.onreadystatechange = handleServerResponse2;
xmlHttp.send(null);
}
else {
// Erro se a conexão estiver cheia!
document.getElementById("login-botao-entrar").value = "Enviar";
mensagem_erro();
}
}

// executa automaticamente quando recebe uma resposta do servidor
function handleServerResponse2() {
// Continua apenas se a transação estiver completa
if (xmlHttp.readyState == 4) {
// status 200 indica que a transação completou com sucesso
if (xmlHttp.status == 200) {
xmlResponse = xmlHttp.responseXML;
xmlDocumentElement = xmlResponse.documentElement;
valor = xmlDocumentElement.firstChild.data;
//setTimeout (function () {toResetState();}, 3000);
switch (valor) {
case "0":
// Operação Completa
mensagem_sucesso_login();
// toResetState();
break;
case "1":
// Campos não preenchidos
mensagem_incompleto_login();
// toResetState();
break;
case "2":
// Campos não preenchidos
mensagem_erro_login();
// toResetState();
break;
default:
mensagem_erro_login();
alert(valor);
break;
}
}
else {
mensagem_erro();
// toResetState();
}
}
document.getElementById("login-botao-entrar").value = "Enviar";
document.getElementById('mensagem-login').style.display = 'block';
}

function mensagem_sucesso_login() {
document.getElementById('mensagem-login').className = "alert alert-success";
document.getElementById('mensagem-login').innerHTML = "<p id='login-mensagem-sucesso'>Sucesso!</p>";
}

function mensagem_erro_login() {
document.getElementById('mensagem-login').className = "alert alert-danger";
document.getElementById('mensagem-login').innerHTML = "<p id='login-mensagem-erro'>Erro no login!</p>";
}

function mensagem_incompleto_login() {
document.getElementById('mensagem-login').className = "alert alert-warning";
document.getElementById('mensagem-login').innerHTML = "<p id='login-mensagem-incompleto'>Há campos obrigatórios que não foram preenchidos!</p>";
}


I looked everywhere and I can't find the error! In the xmlDocumentElement = xmlResponse.documentElement; but I really don't know why..

0 comments:

Post a Comment