Gå til innhold

Cross domain SOAP med JavaScript


Anbefalte innlegg

Videoannonse
Annonse

BUMP

Etter mye googling og testing, har jeg funnet ut at dersom serveren returnerer en http response med Access-Control-Allow-Origin: * i headeren, skulle cross-domain ajax være greit.

Har satt opp en mock service i soapUI for å teste, problemet er bare at XMLHttpRequest blir sendt som HTTP POST kun hvis man sender en tom post. Endrer man på noe endres typen automatisk til OPTIONS, og serveren min blir sur.

 

Noen tips på hvordan jeg kan unngå dette?

 

EDIT: Kodeeksempel dersom noe skulle være uklart:

var xmlhttp=new XMLHttpRequest();

xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
	alert("hooray");
}
}
xmlhttp.open("POST","http://zzzzzzzz:8088/mockQueryEngine?WSDL",true);
xmlhttp.setRequestHeader("Content-type","text/xml"); //this line causes the switch from post to options
xmlhttp.send();

 

EDIT: Virker som man må si hallo til serveren først, og få den til å sende en respons med følgende headere:

Access-Control-Allow-Origin: *
Access-Control-Max-Age: 3628800
Access-Control-Allow-Methods: POST

Deretter lar browseren deg gjøre hva du vil. Jeg får imidlertid ikke tested det siden soapUI er litt vanskelig å konfigurere.

Endret av nahoy
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...