Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde, galera!
Estou com dificuldade em saber como retornar os dados de um JSONP.
No caso ele esta retornando uma lista:
Xxxxxx (Xxxx)
Xxxxxx2 (Xxxx2)
Xxxxxx3 (Xxxx3)
Xxxxxx4 (Xxxx4)
Xxxxxx5 (Xxxx5)
Mas preciso separar linha por linha.
Aguardo resposta...
Valew
William ele me retorna desta forma:
GUARUJA (XSAO)
GUARULHOS (GRU)
GUARAPUAVA (CAC)
GUARATINGUETA ()
GUARATUBA (JOI)
JABOATAO DOS GUARARAPES (REC)
JAGUARIAIVA ()
JAGUARIUNA (CPQ)
E preciso separar linha por linha, mas o problema está em descobrir como retornar estes dados uma vez que o callback dele não funciona...
A idéia é pegar esta lista de itens e colocar em um autocomplete do JQuery...
Estou tentando assim, ele retorna os dados mas até agora não consegui descobrir para onde ele joga esses dados para que eu possa trata-los da forma que eu quiser...
$('#origem, #destino').keyup(function(){
if(this.value.length > 2){
$.ajax({
url: "http://www.Xxxxxx.com.br/Yyyyy/Zzzzzzz.aspx?q="+this.value+"&LojaChave=1524578",
dataType: "jsonp"
});
}
{);"ele" quem?
já tentou um split pela quebra de linha ? o caracter \n ?
O problema é que não consigo o retorno para dar um SPLIT...
Já tentei success: function(data){}, jsonpCallback: "Xxxx" e nada
ok, então você está requisitando uma URL que não faz parte do teu domínio.
Eu te indico fazer um proxy com php, e então o teu js lê esse proxy. Assim você não terá problemas com cross domain.
Então William tive problemas as acessar via AJAX com JSON e agora com JSONP funcionou tanto é que estou visualizando os dados normalmente, só preciso saber como pegar este retorno para que eu possa tratá-lo...
Com JSON (ERRO):
Apresentou este erro: XMLHttpRequest cannot load http://www.Xxxx.com.br/Yyyyy/Zzzzz.aspx?q=RIO%20DE%20JANE&LojaChave=1245785492.'>http://www.Xxxx.com.br/Yyyyy/Zzzzz.aspx?q=RIO%20DE%20JANE&LojaChave=1245785492. Origin http://www.Xxxx.com is not allowed by Access-Control-Allow-Origin.
Agora com JSONP, retorna o que preciso:
GUARUJA (XSAO)
GUARULHOS (GRU)
GUARAPUAVA (CAC)
GUARATINGUETA ()
GUARATUBA (JOI)
JABOATAO DOS GUARARAPES (REC)
JAGUARIAIVA ()
JAGUARIUNA (CPQ)
ok!
mas então cadê o seu success ? tipo.. tá difícil de te ajudar
Já tentei de tudo success: function(data){}, jsonpCallback: "Xxxx" e nada retorna.
Com esses parâmetros ou sem eles dá na mesma...
$('#origem, #destino').keyup(function(){
if(this.value.length > 2){
$.ajax({
url: "http://www.Xxxx.com.br/Yyyyy/Zzzzz.aspx?q="+this.value+"&LojaChave=12354684",
dataType: "jsonp",
jsonpCallback: 'callback123',
success: function(data, textStatus) {
alert('success...');
},
error: function(xhr, ajaxOptions, thrownError) {
alert('failed....');
}
});
}
});
Ainda não tentei desta forma...
$.ajax({
type: "GET",
url: 'http://jsonip.appspot.com/?callback=getip',
dataType: "jsonp",
success: function getip(json) {
alert("sucess");
}
});Dudesigner,
Dei uma olhada no teu código e não encontrei nenhum problema. Inclusive fiz um teste com ele passando apenas uma outra URL e funcionou. Veja!
Se sua dúvida for apenas sobre como trabalhar com os dados que você recebe do json então sugiro fazer o seguinte:
Rode seu código no Google Chrome com o item Ferramentas Do Desenvolvedor habilitada e com a guia Console selecionada (é o F12 no teclado). Aí no teu código, no método success, roda o comando console.log(data). O bom de rodar no Chrome é que ele monta uma árvore das informações retornadas pelo json e aí é muito mais fácil de você identificar o retorno das informações e como trabalhar com elas.
Acessa esse link e roda ele conforme expliquei acima.
Abs!
Berkowitz, primeiramente obrigado pela ajuda, mas o seu retorno para o meu tem uma diferença.
O seu retorna assim: {"BuscaEnderecoResult":[{"Bairro":"Centro","Cep":0,"Cidade":"São Paulo","Estado":"SP","LogradouroAbreviado":"R Três de Dezembro"}]}
Já o meu assim: (somente os dados nada de Array, nem nada...)
GUARUJA (XSAO)
GUARULHOS (GRU)
GUARAPUAVA (CAC)
GUARATINGUETA ()
GUARATUBA (JOI)
JABOATAO DOS GUARARAPES (REC)
JAGUARIAIVA ()
JAGUARIUNA (CPQ)
Opa,
Se seu retorno é exatamente este, então no caso você não está retornando dados de um JSONP. Seu dataType é text e não JSONP.
No caso você teria de fazer um proxy como o William Bruno sugeriu para continuar com o text, ou alterar o formato de seu retorno para JSON ou JSONP.
Este parametro também pode ser removido, pois no caso não está fazendo nada:
jsonpCallback: 'callback123',
brunocampos_!
Pelo jeito não vou ter como escapar do PROXY citado pelo Willian mesmo, pois se tido o dataType: 'jsonp' ele não retorna os dados.
Caso alguém tenha algum modelo deste PROXY me envie, por favor.
Obrigado pela ajuda de todos...
Valew
ok, mas está formatado em jSON ?