Ir para conteúdo

POWERED BY:

Arquivado

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

Davi Gasparino

xml externo jquery

Recommended Posts

Olá, acompanho a muitos anos o fórum e hoje venho fazer minha primeira pergunta, pois realmente não encontrei solução para o que eu preciso.

 

$(document).ready(function(){
$.ajax({
type: "GET",
url: "dados.xml",
dataType: "xml",
success: function(xml) {
$(xml).find('conteudo').each(function(i){
var titulo = $(this).find('titulo').text();
var url = $(this).find('url').text();
$('#cont').append('<p><strong style="color:#f00">'+i+'</strong> - Título: '+titulo+' <br /> url: '+url+'</p>');
});
},
error: function(xml){
$('#cont').append('<p>Houve uma falha na leitura do xml</p>');
}
});
});
esse código funciona perfeitamente quando o xml está no mesmo diretório, no entanto quanto coloco uma url de um xml ele não roda, existe uma loja virtual onde quero colocar as promoções, essa loja gera os feeds e quando eu coloco o endereço na variavel $url ele não funciona, antes de tentar com o jquery, eu estava fazendo com simplexml_load_file($url); no php mas da problemas de segurança no server, ai resolvi tentar com o jquery. Talvez não seja tão complicado, mas já estou a horas estudando sobre e ainda nada do que encontrei serviu, muito obrigadoabraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc não pode informar uma URL absoluta do tipo: http://site.com.br/a.xml

 

pq o javascript entende que vc está acessando algo "fora do seu domínio", e ai o ajax barra por questões de segurança.

 

para requisitar xmls externos, vc precisa fazer um proxy do teu lado, ou tentar fazer cross domain.

Compartilhar este post


Link para o post
Compartilhar em outros sites


$.ajax({

...

crossDomain: true,

dataType: 'jsonp',

...

});

Compartilhar este post


Link para o post
Compartilhar em outros sites
Fiz dessa maneira, mas não consegui fazer funcionar, to lendo alguns artigos, mas por favor se conseguiram enxergar o erro iria ajudar muito.


//este é o endereço de onde está o arquivo que gera os feeds do site http://gamacomunicacao.com.br/feed/institucional.php


$(document).ready(function(){

$.ajax({

type: "GET",


dataType: "xml",

crossDomain: true,

dataType: 'jsonp',

success: function(xml) {

$(xml).find('conteudo').each(function(i){

var titulo = $(this).find('titulo').text();

var url = $(this).find('url').text();

$('#cont').append('<p><strong style="color:#f00">'+i+'</strong> - Título: '+titulo+' <br /> url: '+url+'</p>');

});

},

error: function(xml){

$('#cont').append('<p>Houve uma falha na leitura do xml</p>');

}

});

});


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.