Precisa de ajuda para obter o cross domain XML com JavaScript

Tudo bem, então estou criando um aplicativo da web que fornece informações sobre música (por exemplo, informações sobre artistas, álbuns, músicas etc.) e para a fonte de informações estou usando a API do MusicBrainz.

Agora, estou tentando carregar os dados de uma chamada da API e processá-los com o jQuery. Este é o código que estou usando:

Code:
queryString="http://musicbrainz.org/ws/1/artist/?type=xml&name="+qry+"&limit=10"; 
$.ajax({url: queryString, dataType: ($.browser.msie) ? "text" : "xml", success: function(data){ 
      alert("success"); 
      var xml; 
      if (typeof data == "string") { 
             xml = new ActiveXObject("Microsoft.XMLDOM"); 
             xml.async = false; 
             xml.loadXML(data); 
        } else { 
             xml = data; 
        }; 
...

Com 'queryString' sendo a string de URL para a requisição, então eu continuaria lendo os dados do objeto 'xml'. Relativamente simples.

No entanto, é aí que surgem os problemas. O código funciona perfeitamente quando executado localmente no meu computador, mas não funciona quando eu carrego tudo no meu servidor web e tento executá-lo lá. Eu fiz algumas leituras e descobri que as chamadas AJAX não podem ser feitas em diferentes domínios, devido a problemas de segurança.

Então eu li através de inúmeras soluções, mas quase todas exigem algo com PHP (que eu não tenho absolutamente nenhum conhecimento) ou pegar os dados no formato JSON (que aparentemente não está sujeito às mesmas restrições de segurança). No entanto, meu principal problema é que a API do MusicBrainz não retorna dados no formato JSON (na verdade, o único formato retornado é XML).

Então, de qualquer forma, eu estava basicamente me perguntando se alguém poderia me dar alguma ajuda ou indicações sobre se e como eu poderia pegar esse arquivo XML remoto usando apenas JS / jQuery. Ou, me aponte para outro método que poderia ser realizado por um noob PHP completo como eu.

Obrigado por qualquer ajuda!

questionAnswers(2)

yourAnswerToTheQuestion