2012-03-31 77 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" ] 
]