Hansi: uncaught exception bei Ajax Aufruf

Hallo,

bei einer Ajax-Anwendung erhalte ich diesen Fehler von der Firefox Fehlerkonsole.

uncaught exception: Die Erlaubnis für den Aufruf der Methode XMLHttpRequest.open

Was könnte das für eine Ursache haben?

  1. Hallo,

    uncaught exception: Die Erlaubnis für den Aufruf der Methode XMLHttpRequest.open

    Was könnte das für eine Ursache haben?

    Die Fehlermeldung sagt es ja eigentlich schon...keine Erlaubnis.
    Möglicherweise versuchst Du, per AJAX auf eine fremde Domain zuzugreifen? Das darfst Du nämlich nicht, bzw. der Browser lässt Dich nicht. AJAX-Call und die per Ajax abzurufenden Daten müssen auf derselben Domain liegen.

    Viele Grüße,
    Jörg

    1. Ganz dumme Frage. Was ist überhaupt eine Domäne?

      Wie kann ich feststellen, ob mein Ajax-Call und die per Ajax abzurufenden Daten auf der gleichen Domäne liegen?

      1. Hallo!»» Ganz dumme Frage. Was ist überhaupt eine Domäne?

        http://de.wikipedia.org/wiki/Domain

        Wie kann ich feststellen, ob mein Ajax-Call und die per Ajax abzurufenden Daten auf der gleichen Domäne liegen?

        Die URL die du im Browser aufrufst ist zb:
        http://xyz.example.com/index.html
        Die Domain wäre hier xyz.example.com
        Mit Javascript XMLHttpRequests darfst du jetzt nur Resourcen der Domain xyz.example.com machen.
        zb also:
        http://xyz.example.com/include/ajax.html
        Du darfst nicht zugreifen auf zb:
        http://abc.example.com/ajax.html

        mfg
          frafu

        1. mmm, ich rufe meine Seite so über den Browser auf:

          http://localhost:8080/abc/def/ghi.html

          Was ist denn hier die Domäne und wie müßte der Ajax Aufruf aussehen?

          1. Hallo,
            Die Domäne ist vereinfacht ausgedrückt im Prinzip immer der Rechnername, über den Du eine Seite aufrufst (stimmt nicht ganz, weil auch mehrere Domänen auf einem Rechner verwaltet werden können und in der Praxis auch sehr häufig werden, aber der Einfachheit halber...)

            In Deinem Fall ist die Domäne also Dein eigener Rechner (localhost), mit dem Port 8080.

            So lange Deine Ajax-Calls von dieser Domäne Daten abfragen, passt alles (alle Daten, die Du mit Ajax abrufst, müssen auf Deinem Rechner liegen. Wenn Du diese Daten mit "http://..." adressierst, muss folglich die angegebene URL auch die Form "http://localhost:8080/irgendwas..." haben.

            Du kannst aber nicht z.b. auf Google zugreifen, und dort irgendwelche Daten ziehen, sondern musst auf Deinem Rechner bleiben.

            Viele Grüße,
            Jörg

            1. Und das ist das was ich nicht verstehe...

              ich greife nur auf Daten zu, die auch auf meinem Rechner liegen. Trotzdem erhalte ich von Firefox die oben beschriebene Fehlermeldung.

              1. Hallo Hansi,

                ich greife nur auf Daten zu, die auch auf meinem Rechner liegen. Trotzdem erhalte ich von Firefox die oben beschriebene Fehlermeldung.

                bitte poste doch die relevanten Codezeilen.
                Meine Glaskugel hab' ich gestern versehentlich als Osterei eingefärbt und muss nun ein paar Tage ohne auskommen.

                Freundliche Grüße

                Vinzenz

              2. ich greife nur auf Daten zu, die auch auf meinem Rechner liegen. Trotzdem erhalte ich von Firefox die oben beschriebene Fehlermeldung.

                Wo die Resource liegt spielt keine Rolle, die Frage ist wird sie über die gleiche Domain aufgerufen (inkl. Port)?

                Struppi.

          2. Hi,

            http://localhost:8080/abc/def/ghi.html

            Was ist denn hier die Domäne und wie müßte der Ajax Aufruf aussehen?

            Warum gibst du nicht einfach gar keine Domain an, und verwendest relative Pfadangaben?

            MfG ChrisB