Ir para conteúdo

POWERED BY:

Arquivado

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

formigoni

Encontrar Erro em Script

Recommended Posts

Boa tarde pessoal, gostaria de uma ajuda pra entender onde estou errando no cálculo de frete com esses scripts, me perdoem mas já tentei, fucei e quase acabei estragando tudo.

Vou postar os scripts aqui:

 

ajax.js

 

function ajax()
{
	try {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} catch(e) {
		try {
			return new ActiveXObject("Msxml2.XMLHTTP");
		} catch(ex) {
			try {
				return new XMLHttpRequest();
			} catch(exc) {
				alert("Esse browser não tem recursos para uso do AJAX");
				return false;
			}
		}
	}
}

calculoFrete.html

 

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Cálculo do Frete</title>
</head>
<script language="javascript" src="ajax.js"></script>
<script language="javascript" src="calculoFrete.js"></script>

<body>
<form method="post" action="">
<table width="322" border="0" cellspacing="0" cellpadding="0">
  <tr>
	<td>
	  CEP Origem: 
	  <input name="cepOrigem" type="text" id="cepOrigem">
	  <br />
	  CEP Destino: 
	  <input name="cepDestino" type="text" id="cepDestino">
	  <input name="peso" type="hidden" id="peso" value="30">
	  <br />
	  <input name="postok" type="button" id="postok" value="Calcular" onClick="calculoFrete();">
	</td>
  </tr>
</table>
</form> 
<div id="result"></div>
</body>
</html>

calculoFrete.js

 

ajax1 = new ajax;
function calculoFrete()
{
	var cepOrigem = document.getElementById("cepOrigem").value;
	var cepDestino = document.getElementById("cepDestino").value;
	var peso = document.getElementById("peso").value;

	ajax1.open("POST", "calcularFrete.php", true );
	ajax1.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax1.send("cepOrigem="+cepOrigem+"&cepDestino="+cepDestino"&peso="+peso);

	ajax1.onreadystatechange = function() { 
		if (ajax1.readyState == 4) {
			document.getElementById("result").innerHTML = ajax1.responseText;
		} else {
			document.getElementById("result").innerHTML = "Aguarde, calculando...";
		}
	}
}

calcularFrete.php

 

<?php

	// cep de origem e cep de destino
	$cepOrigem = $_GET['cepOrigem'];
	$cepDestino = $_GET['cepDestino'];
	$peso = $_GET['peso'];
	
	// esta é a URL dos correios
	$url = "http://www.correios.com.br/encomendas/precos/calculo.cfm?";
	$url .= "resposta=paginaCorreios&servico=40010&";
	$url .= "cepOrigem=".$cepOrigem."&cepDestino=".$cepDestino."&peso=".$peso."&MaoPropria";
	$url .= "=n&valorDeclarado=&avisoRecebimento=N";
	
	// captura as linhas da URL retornada
	$lines = file($url);
	
	foreach ($lines as $line_num => $line) {
		//echo "Line #<b>{$line_num}</b> : " .strip_tags($line). "<br />\n";
		if( $line_num == 660 ){ echo "Valor do Frete via SEDEX: ".strip_tags($line); }
	}

?>

Valeu moçada, fiquem na paz.

 

http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

essa parte aqui:

ajax1.open("POST", "calcularFrete.php", true );
	ajax1.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax1.send("cepOrigem="+cepOrigem+"&cepDestino="+cepDestino"&peso="+peso);

 

tenta assim:

var URL = "calcularFrete.php?cepOrigem="+cepOrigem+"&cepDestino="+cepDestino"&peso="+peso;
ajax1.open("GET", URL, true);
ajax1.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

e não esqueça de passar a resposta!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Ted k'.

Cara fiz o que você disse e não aconteceu nada, veja o link da página para teste.

 

Página para Cálculo

 

Parece que não passa do form, coisa doida.

 

Como posso verificar se essas variáveis estão sendo passadas pelo .js?

 

Valeu e fica na paz.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Lex.

Já tinha colocado a variável que estava faltando, mas mesmo assim esse script não ficou legal.

Veja:

 

ajax1 = new ajax;
function calculoFrete()
{
	var cepOrigem = document.getElementById('cepOrigem').value;
	var cepDestino = document.getElementById('cepDestino').value;
	var peso = document.getElementById('peso').value;

/*   
	ajax1.open("POST", "calcularFrete.php", true );
	ajax1.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax1.send("cepOrigem="+cepOrigem+"&cepDestino="+cepDestino"&peso="+peso);
*/

	var URL = "calcularFrete.php?cepOrigem="+cepOrigem+"&cepDestino="+cepDestino"&peso="+peso;
	ajax1.open("GET", URL, true);
	ajax1.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
   
   ajax1.onreadystatechange = function() { 
		if (ajax1.readyState == 4) {
			document.getElementById("result").innerHTML = ajax1.responseText;
		} else {
			document.getElementById("result").innerHTML = "Aguarde, calculando...";
		}
	}
}

 

 

Como posso verificar se as variáveis estão sendo passada para o .js?

Valeu e fica na paz.

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.