2012-03-31 79 views
0

尝试加载自定义类时出现跨域错误。这里是我的目录结构Dojo跨域加载问题

LIB

/dijit的

/CustomClass1

GIC

/dijit的

/CustomClass2

CustomClass2从CustomClass1继承,但是这是我得到的跨域错误。

我包括CustomClass2的要求:

require("lib.dijit.CustomClass1"); 

我相信我需要添加一个模块路径。我尝试了下面的语句(有许多变化),但我没有得到它的工作。有任何想法吗?

dojo.registerModulePath("gic", "gic"); 

回答

1

跨域指的是从不是服务于Web应用程序本身的域的服务器检索JavaScript文件。一个例子是从CDN加载dojo。

http://dojotoolkit.org/reference-guide/1.7/quickstart/cross-domain.html

从你贴什么,我可以,如果你正在使用道场从CDN或不看不出来。如果你是,那么这个链接应该帮助您配置模块路径:

http://dojotoolkit.org/documentation/tutorials/1.6/cdn/

如果没有,那么一定要注意的是,第二个参数是一个目录路径是重要的,是相对的dojo.js

dojo 
    dojo.js 
lib 
    dijit 
gic 
    dijit 

dojo.registerModulePath("lib", "../lib"); 
dojo.registerModulePath("gic", "../gic"); 

如果你在做一个自定义生成这个问题,那么你需要在配置文件中设置的前缀:

prefixes: [ 
    [ "dijit", "../dijit" ], 
    [ "lib", "../lib" ], 
    [ "gic", "../gic" ] 
]