+1

Cálculo do frete via SEDEX com PHP e AJAX

criado por Aderbal Nunes em 15/04/2007 8:35pm
Este tutorial além de calcular o valor do frete via sedex, vamos ter uma noção de como funciona o Ajax (Asynchronous Javascript And XML).

Ajax é resumidamente o uso sistemático de Javascript e XML para tornar a nevegação mais interativa com o usuário, utilizando-se de solicitações assíncronas de informações. Podemos dizer que Ajax não é uma tecnologia, mas sim um conjunto de tecnologias trabalhando em conjunto, cada uma fazendo sua parte para criar novas funcionalidades.

Então estamos vendo que além do PHP, também iremos aprender um pouco de javascript.

Pra começar vamos pra o arquivo 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;
            }
        }
    }
}

Complicou? Não se preocupe...

Comentários:

Mostrando 1 - 10 de 11 comentários
adrianno disse:
como faço para pegar o peso de uma variavel do meu carrinho e ela seja adicioanda ao campo "peso" sem que eu tenha que digitar manualmente?
17/04/2009 4:23am (~15 anos atrás)

Renata Costa disse:
Estou batendo cabeça com o Ajax e um dos motivos é este cálculo.
Foi bem legal!!!!
Meu único problema é um erro que continua dando:
Warning: file(http://www.correios.com.br/encomendas/precos/calculo.cfm?resposta=http://172.24.22.59/renata/tarsus/calculofrete.htm&servico=40010&cepOrigem=24360060&cepDestino=22231140&peso=1&MaoPropria=n&valorDeclarado=&avisoRecebimento=N) [function.file]: failed to open stream: Connection refused in /producao/html/renata/tarsus/calcularfrete.php on line 21

Warning: Invalid argument supplied for foreach() in /producao/html/renata/tarsus/calcularfrete.php on line 25

AH! E dica onde achar um material legal para minhas cabeçadas.

Um abraço
16/08/2007 1:20pm (~16 anos atrás)

Esse artigo é muito bom, será útil para muitos usuários do PHP.
Parabéns...
12/06/2007 7:10am (~17 anos atrás)

Amigo ao invez de usar essa gambiarra pra ler o arquivo inteiro e melhor vc ler um xml fica muito mais rapido.....
http://www.correios.com.br/encomendas/precos/calculo.cfm?cepOrigem=15085893&cepDestino=15040190&peso=3&MaoPropria=N&avisoRecebimento=N&resposta=xml
Assim que der posto um novo topico com a versão xml
Os codigos dos Serviços...
40215 - SEDEX 10
40010 - SEDEX CONVENCIONAL
40096 - SEDEX
40045 - SEDEX A COBRAR
40290 - SEDEX HOJE
41017 - Encomenda Normal
02/05/2007 11:08am (~17 anos atrás)

Aderbal Nunes disse:
Valeu cara eu conheço sim e já usei, na verdade é mais pra mostrar o AJAX do que a aplicação =)

valeu mesmo
19/04/2007 2:57pm (~17 anos atrás)

Aderbal não sei se você conhece o xajax (http://www.xajaxproject.org/), mas ele já faz toda essa parte de ajax que você escreveu na munheca aí. Iria economizar umas duas páginas no seu artigo! Mas valeu pela iniciativa.
O bom é que a galera que não conhece como o ajax funciona passa a conhecer. Eu utilizo essa url dos correios juntamente com outra locaweb para calcular o frete mas o cálculo fica um pouco lento, mesmo utilizando ajax e o principal problema é que a conexão com essa url está sempre falhando. O ideal é comprar a tabela de frete dos correios.

Um abraço
19/04/2007 10:30am (~17 anos atrás)

a disse:
Ótimo artigo ADERBAAAAAAAAAAAAAAL!

Uma bela aplicação! Parabéns!
18/04/2007 3:27pm (~17 anos atrás)

Aderbal Nunes disse:
a consulta se torna mais lenta, existe as vantagens! vou por mas quem quizer pode usar de qualquer forma! VALEU vcs

=)
16/04/2007 7:07am (~17 anos atrás)

Aderbal Nunes disse:
Rhácius obrigado pelo comentário =) eu utilizei aqui no meu código de um e-commerce, mas esqueci de alterar aqui, valeu por lembrar =)

Abraço
16/04/2007 6:29am (~17 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)