Via een <script>-tag include ik een AJAX structuur in mijn HTML. Die HTML pagina staat alleen niet op hetzelfde domein, maar op een compleet andere site. Dit is het gedeelte van mijn code waarin de XMLHttpRequest zich voordoet:
Wanneer ik de pagina met de <script> include probeer te laden en dus de functie loadIt() gebruik dan krijg ik de volgende foutmelding in Firefox:
Als ik wat rondzoek op Google kom ik toch een tegenvallende conclusie: cross-site AJAX kan niet. Is dit ook werkelijk zo? Of kan ik de permission misschien wijzigen of iets dergelijks? Even niet kijken naar het doel van dit script, het gaat hier puur om het technische: kan het of niet?
Mocht iemand dit dus zijn tegen gekomen of de oplossing weten: mijn eeuwige dankbaarheid en wellicht meer
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
| var isWorking = false; function loadIt() { if (!isWorking && http) { http.open("GET", "http://www.domain.com/action.php?do=load&url="+window.location.href, true); http.onreadystatechange = function() { if (http.readyState == 4 && http.responseText.indexOf("invalid") == -1) { var xmlDocument = http.responseXML; // Hier doe ik dus van alles en nog wat met de XML, en print het... } } isWorking = true; http.send(null); } } function getHTTPObject() { var xmlhttp; /*@cc_on @if (@_jscript_version >= 5) try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } @else xmlhttp = false; @end @*/ if (!xmlhttp && typeof XMLHttpRequest != "undefined") { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp = false; } } return xmlhttp; } var http = getHTTPObject(); |
Wanneer ik de pagina met de <script> include probeer te laden en dus de functie loadIt() gebruik dan krijg ik de volgende foutmelding in Firefox:
code:
1
| Fout: uncaught exception: Toestemming om methode XMLHttpRequest aan te roepen geweigerd.open |
Als ik wat rondzoek op Google kom ik toch een tegenvallende conclusie: cross-site AJAX kan niet. Is dit ook werkelijk zo? Of kan ik de permission misschien wijzigen of iets dergelijks? Even niet kijken naar het doel van dit script, het gaat hier puur om het technische: kan het of niet?
Mocht iemand dit dus zijn tegen gekomen of de oplossing weten: mijn eeuwige dankbaarheid en wellicht meer
[ Voor 13% gewijzigd door BlueAce op 23-05-2005 09:58 ]