Avatar billede mbm2016 Nybegynder
16. juli 2009 - 12:59 Der er 6 kommentarer og
1 løsning

Få Ajax script til at virke i Opera og Safari

Hejsa, jeg har en ajax klasse jeg selv lige har bakset sammen for komfortens skyld, men det ser ud til at den ikke virker i opera og safari.

I opera når den kun til 2 i readyState egenskaben for XmlHttpRequest objektet, dvs. opera siger den bliver sendt, men den når ikke videre op til 3 og 4?

Linket til koden er: http://www.magnusbm.dk/prove.htm

Er der nogle der kan hjælpe?

/mbm2007
Avatar billede olebole Juniormester
17. juli 2009 - 13:59 #1
<ole>

Hvilket styresystem og hvilke browser versioner taler du om? Opera 9.6 under WinXP giver ikke problemer

/mvh
</bole>
Avatar billede mbm2016 Nybegynder
18. juli 2009 - 21:22 #2
Det er Opera 9.6 under Vista Home Premium? Det er noget lort!
Avatar billede olebole Juniormester
19. juli 2009 - 12:30 #3
Hmmm ... det har jeg ikke hørt andre klage over - og det ser ikke umiddelbart ud til, andre skriver om det på nettet. Prøv at lave et HTML-dokument med denne kode og test i Opera:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test XMLHttpRequest</title>
<script type="text/javascript">
var sAX="MSXML2.XMLHTTP.6.0 MSXML2.XMLHTTP.3.0 Msxml2.XMLHTTP Microsoft.XMLHTTP";
(function(){var x=window.XMLHttpRequest;if(!x){var o=s=null,a=sAX.split(" ");for(var i=0,j=a.length;i<j;s=a[i],i++){try{if(o=new ActiveXObject(s))break}catch(e){}}}window.XMLHttpRequest=x?x:o?function(){return new ActiveXObject(s)}:null;o=null;sAX=undefined})();

var oHttp = null;
function testXMLHttpReq() {
    oHttp = new XMLHttpRequest();
    oHttp.open("post", "response.php", true);
    oHttp.onreadystatechange = fnCallBack;
    oHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
    oHttp.send("context=testing");
}
function fnCallBack() {
    alert(oHttp.readyState)
}
</script>
</head>
<body>

<div>
    <button onclick="testXMLHttpReq();return false">Send request</button>
</div>

</body>
</html>
Avatar billede olebole Juniormester
19. juli 2009 - 12:32 #4
PS: du skal naturligvis have et dokument med navnet 'response.php' på serveren - i samme mappe som test dokumentet  ;o)
Avatar billede mbm2016 Nybegynder
19. juli 2009 - 13:39 #5
hej ole,

Jah det virker ligesom mit script, jeg har fundet ud af hvad det er der foresager "Adgang nægtet" fejlen. Det er når jeg f.eks. skriver: "http://www.magnusbm.dk/style.css" så siger den adgang nægtet, men hvis jeg skriver det relative url altså bare "style.css" så virker det!  Jeg er totalt forvirret ;)
Avatar billede olebole Juniormester
19. juli 2009 - 16:10 #6
Du må ikke kunne hente data med XMLHttpRequests fra andre domæner. Noget kunne tyde på Opera under Win Home Premium har en yderst restriktiv og rigid måde at forhindre dette på, mens andre browsere klarer opgaven lidt 'mindre paranoidt'  =)
Avatar billede mbm2016 Nybegynder
14. oktober 2009 - 13:24 #7
Jaehh, jeg lukker ;)
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