Ir para conteúdo

POWERED BY:

Arquivado

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

Gaulia

[Resolvido] Por que em casa funciona o Ajax e no servidor não?

Recommended Posts

Galera em Casa o Todo código Ajax funciona, mas quando eu envio para o servidor, o código que uso para POST em ajax não funciona... o que poderia ser?

O ajax que uso para abrir página e pesquisar funciona corretamente só o que uso para POST

 

 

ajaxPost.js

function enviaReq(){
	var oForm = document.forms[0]; 
	var sBody = criaReqStr(oForm);

	var oXMLHttp = criaXMLHttp();
	oXMLHttp.open("post", oForm.action, true);
	oXMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

	oXMLHttp.onreadystatechange = function (){
		if(oXMLHttp.readyState == 4)
			exibeResult(oXMLHttp.responseText);
		else
			exibeResult("Ocorreu um erro: " + oXMLHttp.statusText);
	};
	oXMLHttp.send(sBody);
}
function enviaAtu(){
	var oForm = document.forms[1]; 
	var sBody = criaReqStr(oForm);

	var oXMLHttp = criaXMLHttp();
	oXMLHttp.open("post", oForm.action, true);
	oXMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

	oXMLHttp.onreadystatechange = function (){
		if(oXMLHttp.readyState == 4)
			exibeResult(oXMLHttp.responseText);
		else
			exibeResult("Ocorreu um erro: " + oXMLHttp.statusText);
	};
	oXMLHttp.send(sBody);
}

function criaReqStr(oForm){
	var aPostStr = new Array();

	for(var i = 0; i < oForm.elements.length; i++){
		var sValor = encodeURIComponent(oForm.elements[i].name);
		sValor += "=";
		sValor += encodeURIComponent(oForm.elements[i].value);
		aPostStr.push(sValor);
	}
	return aPostStr.join("&");
}							

function exibeResult(sTxt){
	var divStatus = document.getElementById("divStatus");
	divStatus.innerHTML = sTxt;
}

animes.html

<form action="animes_enviar.php" method="POST" onSubmit="enviaReq(); showPag('animes.php?pagina=<?=pagina; ?>'); return false">
	<input name="anime" type="text" id="anime" size="20" maxlength="30">
	<input name="Cadastrar" type="submit" value="Cadastrar" id="Cadastrar">
	</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá, poder ser permissão....verifique isso t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Funcionou, agora tem outro problema, sabe a Função enviaAtu(), ela é para enviar as atualizações, por que eu não sei usar o enviaReg para os dois, tanto Atualizar como Cadastrar, então criei essa que só muda o

 

 

var oForm = document.forms[1];

 

Que vai para "1", como poderia usar a mesma função para Cadastrar e Atualizar, por que uso o mesmo php para envio dos dois.

 

Por que esse enviaAtu não está funcionando no servidor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha eu nao entendi direito a sua ultima duvida, mas se voce quer usar uma funcao para duas finalidades, você pode colocar um parametro que pode ser usado para definir oq você vai fazer, exemplo:

 

 

function AtualizaRemove(acao)
{
if (acao == 0)
//aqui vem os comando para atualizar
else if (acao == 1)
//aqui vem os comando para remover
}

//Chama a funcao AtualizaRemove(0) ou AtualizaRemove(1)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então era mais ou menos isso, mas não está funcionando como desejado... o que eu queria mesmo era só mudar o numero da form para 0 ou 1, por que no ajax o 0 corresponde ao primeiro função de post do enviar.php e 1 corresponde ao segunda função de post, o que eu posso fazer para mudar esse numero do document.forms[?], coloquei assim, mas nao funcionou.

 

 

function enviaReq(acao){
	if (acao == 0)
		var oForm = document.forms[0]; 
	
	else if (acao == 1)
		var oForm = document.forms[1]; 
	}

e na função

 

enviaReq(1)

 

 

RESOLVIDOOOOOOOOOOO, OBRIGADO A TODOS

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.