Startseite Archivdaten .
 
  
XMLHttpRequest() - Fehler bei Mozilla/Opera   
Ich hab mein Problem von weiter oben jetzt so gelst, dass ich mit
XMLHttpRequest() im Hintergrund den Server kontaktiere, funktioniert 
unter IE auch einwandfrei.

Unter Mozilla bekomm ich folgenden Fehler:
Fehler: uncaught exception: Die Erlaubnis fr den Aufruf der Methode 
XMLHttpRequest.open wurde verweigert

Das aufrufende Dokument ist lokal im Browser aufgerufen:
file:///Y:/test2.htm

Zugreifen will ich nun auf eine Serveranwendung die auf 
http://localhost:port/request ansprechbar ist.

Kann es sein, dass die Securitypolicy von Mozilla (auch Opera) das nicht 
zult, wegen quasi andere Zieldomain? Oder besteht da ein anderes Problem?
Kann man das umgehen?

lg,
  Martin


Der Code dazu:
function loadXMLDoc(url)
{
     // branch for native XMLHttpRequest object
     if (window.XMLHttpRequest) {
	alert("native aufruf");
	alert(document.domain);
         req = new XMLHttpRequest();
         req.onreadystatechange = processReqChange;
         req.open("GET", url, true);
         req.send(null);
     // branch for IE/Windows ActiveX version
     } else if (window.ActiveXObject) {
	alert("IE aufruf");
         req = new ActiveXObject("Microsoft.XMLHTTP");
         if (req) {
             req.onreadystatechange = processReqChange;
             req.open("GET", url, true);
             req.send();
         }
     }
}
Date:Thu, 23 Jun 2005 16:31:08 +0200   Author:  

Re: XMLHttpRequest() - Fehler bei Mozilla/Opera   
Martin Mayer wrote:



> Unter Mozilla bekomm ich folgenden Fehler:
> Fehler: uncaught exception: Die Erlaubnis fr den Aufruf der Methode 
> XMLHttpRequest.open wurde verweigert
> 
> Das aufrufende Dokument ist lokal im Browser aufgerufen:
> file:///Y:/test2.htm
> 
> Zugreifen will ich nun auf eine Serveranwendung die auf 
> http://localhost:port/request ansprechbar ist.
> 
> Kann es sein, dass die Securitypolicy von Mozilla (auch Opera) das nicht 
> zult, wegen quasi andere Zieldomain? 

Ja.

> Kann man das umgehen?


Mit Mozilla kann man per Script von einer file: URL vom Benutzer die 
Erlaubnis erfragen, dem Script mehr Rechte (bzw. Privilegien) zu geben:

   var httpRequest;
   if (typeof XMLHttpRequest != 'undefined') {
     httpRequest = new XMLHttpRequest();
   }
   if (httpRequest) {
     if (typeof netscape != 'undefined' &&
         typeof netscape.security != 'undefined' &&
         typeof netscape.security.PrivilegeManager != 'undefined') {
 
netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');
     }
     httpRequest.open('GET', 
'http://localhost/javascript/test2005062301.xml', true);
     httpRequest.onreadystatechange = function () {
       if (httpRequest.readyState == 4) {
         if (typeof netscape != 'undefined' &&
             typeof netscape.security != 'undefined' &&
             typeof netscape.security.PrivilegeManager != 'undefined') {
 
netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');
         }
 
netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');
         // access responseXML here
         alert(httpRequest.responseXML.getElementsByTagName('*').length);
       }
     };
     httpRequest.send(null);
   }

Mit Opera ist das aber meines Wissens nicht moeglich.

-- 

	Martin Honnen
	http://JavaScript.FAQTs.com/
Date:Thu, 23 Jun 2005 16:59:40 +0200   Author: