Cross Domain problems

857
2
05-26-2010 02:48 AM
AndrewClark
New Contributor III
I'm trying to build a Layer list control using a dijit.tree, but every time I dojo.require("dijit.tree") I get a "uncaught exception: Could not load cross-domain resources: dijit.tree" although everything is in the one domain apart from the MapService.

Any ideas?
0 Kudos
2 Replies
AndrewClark
New Contributor III
The Code in question:

<!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"/>
  <meta http-equiv="X-UA-Compatible" content="IE=7" />
  <title>Create Map</title>
  <link rel="stylesheet" type="text/css" href="http://jstest.gis.bcc.lan/API/ESRI/1.5/arcgis/js/dojo/dijit/themes/tundra/tundra.css">
  <script>djConfig = {parseOnLoad:true};</script>
  <script type="text/javascript" src="http://jstest.gis.bcc.lan/API/ESRI/1.5/arcgis/"></script>
  <script type="text/javascript">
   dojo.require("dojo.parser");
   dojo.require("dojo.data.ItemFileReadStore");
   dojo.require("esri.map");
   dojo.require("dijit.tree");

   var objMap;
   var items = [];
   
   
   function Init()
   {
            
   }
   
   function loadNewService()
   {
    var urlService = dojo.byId("urlREST").value;
    var lyrLoaded;
    
    if (objMap == null) {
     objMap = new esri.Map("divMap");
    }
    
    if (dojo.byId("chkDynamic").checked)
     {lyrLoaded = new esri.layers.ArcGISDynamicMapServiceLayer(urlService);}
    else
     {lyrLoaded = new esri.layers.ArcGISTiledMapServiceLayer(urlService);};

    dojo.connect(lyrLoaded,"onLoad",function(layerLoaded){
     svcLayerTreeLoadByLyr(layerLoaded);
    });
    objMap.addLayer(lyrLoaded);
   }
   
   function svcLayerTreeLoadByID(layerId)
   {
    svcLayerTreeLoadByLyr(objMap.getLayer(layerId));
   }
   
   function svcLayerTreeLoadByLyr(thisLayer)
   {
    dojo.forEach(thisLayer.layerInfos,function(layerInfo){
     LayerTreeLoad(layerInfo);
    });
    
    var layerData = {
     identifier: "id",
     label: "name",
     items: items
    };
    
    var store = new dojo.data.ItemFileReadStore({data:layerData});
    
    console.info("Loaded");
   }
   
   function LayerTreeLoad(layerInfo)
   {
    items.push(layerInfo);
   }

   dojo.addOnLoad(Init);
   
  </script>
 </HEAD>
 <BODY>
  Service URL (REST): <INPUT type="text" id="urlREST" name="urlREST"> <input id="btnGo" name="btnGo" type="button" value="Go" onclick="loadNewService();"> <input type="checkbox" id="chkDynamic" name="chkDynamic"> - Dynamic layer
  <BR><BR>
  <DIV id="divMap" name="divMap" style="width: 640px;height: 480px;border: 1px solid black">
  <BR><BR>
 </BODY>
</HTML>
0 Kudos
AndrewClark
New Contributor III
Problem solved. The 'tree' in 'dijit.tree' should be 'dijit.Tree' - Doh!
0 Kudos