Avatar billede zantiago Nybegynder
07. september 2007 - 15:11 Der er 5 kommentarer

Cross Domain med XMLHTTP

Hej Eksperter,

Er der nogen som kan hjælpe mig med om man på nogen måde kan omgå den blokering af CrossDomain som ligger i browserne?

Jeg har noget XML som skal postes til en webservice, men den ligger på et andet domain. Jeg kan ik lige få adgang til .net løsningen så vil lave det i JS.

min kode lige nu:

<Script>
var xmlhttp;
function GeneratePDF(){
XmlData = '';
XmlData += '<?xml version="1.0" encoding="utf-8"?> ';
XmlData += '<templates>';
XmlData += 'EN MASSE DATA';
XmlData += '</templates>';
//alert(XmlData);
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.onreadystatechange=state_Change;
xmlhttp.open( "post", "http://XX.XXX.dk/pdf/XXX/webservice.asmx/GeneratePDF", false );

xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8' );

xmlhttp.send("XmlData=" + XmlData +  "&User=XXX&Password=XXXXXX");
    }
   
    function state_Change()
    {
    if (xmlhttp.readyState==4)
      {
      if (xmlhttp.status==200)
        {
           
              var xmldoc = xmlhttp.responseXML;
                var root = xmldoc.getElementsByTagName('PDF');
                for (var iNode = 0; iNode < root.length; iNode++) {
                  var node = root.item(iNode);
                  document.getElementsByTagName('Table')[0].style.display = "Block";
                  document.getElementsByTagName('Input')[0].style.display = "None";
                  document.getElementsByTagName('A')[0].href = node.childNodes.item(0).text;
                  document.getElementsByTagName('Img')[0].src = node.childNodes.item(2).text;
                }
         
        }
      else
        {
            alert("Problem retrieving XML data")
        }
      }
    }
</Script>
Avatar billede erikjacobsen Ekspert
07. september 2007 - 17:33 #1
Ja, du skriver en stump kode på serveren javascriptet kommer fra. Din XMLHTTP i JS poster dertil, og din stump kode poster så videre til det rigtige sted.
Avatar billede olebole Juniormester
07. september 2007 - 17:35 #2
<ole>

Nej, det er der ingen, der kan hjælpe dig med. Det eneste, du kan gøre, er at lave en fil på din egen server, som du kalde med XMLHttpRequest. Denne fil kalder den anden server og sender responsen tilbage til klienten

/mvh
</bole>
Avatar billede olebole Juniormester
07. september 2007 - 17:35 #3
ups ... jeg havde vist ikke opdateret browseren  :)
Avatar billede erikjacobsen Ekspert
07. september 2007 - 17:54 #4
Hvis du er oppe på Firefox 2.0.0.6, så mener jeg du har den opdateret.
Avatar billede olebole Juniormester
07. september 2007 - 22:34 #5
- er det med den daglige aften-patch?  :)
Jeg kunne jo også have valgt at trykke mig ud på korrekt dansg  ;D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester