Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

halfar

tamanho do texto com ajax

Recommended Posts

para minha surpresa decepcionante, acabei descobrindo que o ajax tem uma limitação de texto em 1024 bytes. Descobri isto ao postar um texto extenso, e ao rodar o script retornava em branco, sem texto nenhum. Pequisei na net e descobri esta limitacao.

 

Então encontrei um codigo no site

http://log4dev.com/2006/04/04/envio-de-grandes-conjuntos-de-dados-com-ajax/

http://log4dev.com/2007/08/21/ajax-em-20-minutos/

 

que resolveria esta questão, bastaria inserir o codigo

 

 

requestObject.open('POST', url, true);

requestObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

if (parameters != null)

requestObject.setRequestHeader("Content-length", parameters.length);

requestObject.send(parameters);

 

aparentemente resolveu a questão do tamanho do texto, mas me apareceu outro problema, não traz a resposta na mesma pagina dentro da <div>, é carregado uma outra pagina em branco.

 

Tentei inserir o codigo em varias partes do script, mas não revolveu.

Alguem saberia resolver isto, abaixo segue o meu script:, como inserir o codigo acima no meu script abaixo.

 

 


var navegador = navigator.userAgent.toLowerCase(); //Cria e atribui à variável global 'navegador' (em caracteres minúsculos) o nome e a versão do navegador

//Cria uma variável global chamada 'xmlhttp'
var xmlhttp;



//Função que inicia o objeto XMLHttpRequest

function objetoXML() {

if (navegador.indexOf('msie') != -1) { //Internet Explorer

var controle = (navegador.indexOf('msie 5') != -1) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP'; //Operador ternário que adiciona o objeto padrão do seu navegador (caso for o IE) à variável 'controle'

try {

xmlhttp = new ActiveXObject(controle); //Inicia o objeto no IE

} catch (e) { }

} else { //Firefox, Safari, Mozilla

xmlhttp = new XMLHttpRequest(); //Inicia o objeto no Firefox, Safari, Mozilla

}

}

//Função que envia o formulário

function enviarForm(url, campos, destino) {


//Atribui à variável 'elemento' o elemento que irá receber a página postada
var elemento = document.getElementById(destino);

//Executa a função objetoXML()
objetoXML();

//Se o objeto de 'xmlhttp' não estiver true
if (!xmlhttp) {

//Insere no 'elemento' o texto atribuído
elemento.innerHTML = 'Impossível iniciar o objeto XMLHttpRequest.';

return;

} else {

//Insere no 'elemento' o texto atribuído
elemento.innerHTML = 'Carregando...';

}

xmlhttp.onreadystatechange = function () {

//Se a requisição estiver completada
if (xmlhttp.readyState == 4 || xmlhttp.readyState == 0) {

//Se o status da requisição estiver OK
if (xmlhttp.status == 200) {

//Insere no 'elemento' a página postada
elemento.innerHTML = xmlhttp.responseText;

} else {

//Insere no 'elemento' o texto atribuído
elemento.innerHMTL = 'Página não encontrada!';

}

}

}

//Abre a página que receberá os campos do formulário



xmlhttp.open('POST', url+'?'+campos, true);

//Envia o formulário com dados da variável 'campos' (passado por parâmetro)
xmlhttp.send(campos);

}


Compartilhar este post


Link para o post
Compartilhar em outros sites

aperte Ctrl+Shift+J no Firefox, se está abrindo outra página, então o ajax não está funcionando.

 

veja o motivo.

http://wbruno.com.br/2011/03/31/como-debugar-javascript-firefox-erros-comuns/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.