Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal...
Tenho um form para cadastro de Pessoa Jurídica. Estou pensando em facilitar o cadastro assim:
No meu FORM o usuário digita o CNPJ e clica no botão PESQUISAR, dai abro num modal (jQuery) essa página passando de parâmetro o CNPJ assim:
http://www.receita.fazenda.gov.br/pessoajuridica/cnpj/cnpjreva/cnpjreva_solicitacao2.asp?cnpj=07699301000102
Daí o modal fecha e carrega os dados do Cartão CNPJ no meu FORM, evitando que o usuário digite todos os dados.
Como eu posso fazer esse tipo de coisa ?
Valeu
Olá wilnet, não é bem isso que eu preciso.
Eu preciso pegar os dados que estão em uma página e alimentar meus inputs. Ex:
Tenho um form de cadastro de Pessoa Jurídica, então pra não digitar todos os inputs eu chamo uma página que já tem essas informações.
O código vai ler os dados desse site e preencher o meu form. Pra que digitar todo o form se dá pra buscar esses dados.
Daí só clico em salvar e pronto.
Você me entendeu ?
Oi.
Para fazer isso vc precisa de uma base que permita você puxar tais dados dela, geralmente usa-se XML para se comunicar entre servidores. O site cujo você irá puxar os dados precisa permitir essa comunicação entre servidores para funcionar.
Abraços!
pode-se fazer com XML se for usar um webservice, ou atribuindo esses valores em txt para uma variavel ou até mesmo pegando do bd. tem alguns exemplos que postei dá uma olhada pode te ajudar
xanburzum...
Você conhece o comando file_get_contents do PHP ?
<?php
// Endereço do site
$url = 'http://www.site_alvo_aqui.com.br';
// Pegando dados do Site e colocando em uma String
$dadosSite = file_get_contents($url);
// Exibindo o retorno
echo $dadosSite;
?>
Então, eu queria usar algo nesse sentido em ASP, pra puxar o texto de um site. Quem sabe até usar a função text() do jQuery.
A ideia:
O usuário digita o CNPJ no meu form e eu busco os dados do site da Receita. Pra facilitar o cadcadastro.
Sabe a busca por CEP ? Então... a mesma coisa, digita o CEP e manda buscar, dai preenche o FORM, evitando a digitação.
Eu pretendo fazer a mesma coisa, porém com o CNPJ.
Tem como puxar os dados ??
Valeu
Dataset,
O que você quer é asp é o msxml2.serverXMLHTTP. Porém, para a requisição que você quer, não vai servir porque esse seu link não abre a tela que você quer. Ele abre uma tela para digitar o captcha e depois abrir a tela que você quer.
O que o pessoal tentou te passar, é que você não deve ler uma página html para pegar dados. Geralmente isso é tentativa de burlar algum site. O correto é você utilizar um webservice de consulta.
No caso do cep, se você no PHP faz consultando o html do Correios, você deveria mudar isso para ler o webservices do Correios. Nesse link mostra como usar: http://www.correios.com.br/para-sua-empresa/servicos-para-o-seu-contrato/precos-e-prazos/calculador-remoto-de-precos-e-prazos
Em todo caso, abaixo tem uma função que serve para ambos os casos.
function EnviaXMLHTTP(byval UrlWebservice, byval xmlEnvio, byval metodo, byval SoapAction, byval assincrono, byref msg_resultado)
dim objXMLHTTP, strResult, cType
EnviaXMLHTTP = false
if len(metodo) = 0 then
if len(SoapAction) > 0 then
metodo = "POST"
else
metodo = "GET"
end if
end if
if metodo = "POST" then
cType = "application/x-www-form-urlencoded"
elseif metodo = "JSON" then
metodo = "POST"
cType = "application/json; charset=UTF-8"
end if
if len(assincrono) = 0 then assincrono = false
set objXMLHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP.3.0")
objXMLHTTP.setTimeouts 10000, 60000 , 60000, 360000
objXMLHTTP.open metodo, urlWebservice, assincrono
if cType <> "" then objXmlHttp.setRequestHeader "Content-Type", ctype
if len(soapAction) > 0 then
SoapAction = mid(urlWebservice, 1, instrrev(urlWebservice, "/")) & SoapAction
objXMLHTTP.setRequestHeader "SOAPAction", SoapAction
end if
objXMLHTTP.setRequestHeader "Content-Length", Len(xmlEnvio)
objXMLHTTP.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
objXMLHTTP.SetRequestHeader "Accept", "text/xml,application/xml,application/xhtml+xml,text/html,application/json;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5"
objXMLHTTP.SetRequestHeader "Accept-Language", "en-us,en,pt-br;q=0.5"
objXMLHTTP.SetRequestHeader "Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7"
objXMLHTTP.send(xmlEnvio)
if err.number = 0 then
strResult = objXMLHTTP.responseText
If objXmlHttp.Status = 200 or objXmlHttp.Status = 201 Then
msg_resultado = strResult
EnviaXMLHTTP = true
else
msg_resultado = objXmlHttp.Status & "#" & strResult
End If
else
msg_resultado = "Erro ao acessar o webservice na url " & urlWebservice & "<br>Erro = " & err.description
end if
on error goto 0
err.clear
set objXMLHTTP = Nothing
end functionexatamente melhor forma é usar um webservice e depois pode implementar um autocomplete, tipo o busca CEP
Olá dataset, blza!
Acredito que esse link deva ajudar.
http://www.oficinadanet.com.br/artigo/217/atualizando_a_janela_pai
De qualquer forma, poderá pesquisar mais sobre:
"fechar modal e atualizar pagina pai"
Poderá encontrar vários exemplos.
Poderá tb usar exemplos com Ajax, Jquery que tb irá fazer essa função.
Espero ter ajudado,
vlw