0

我无法在打开的社交小工具中使用 dojo 小部件。这是我遵循的步骤
1. 我在本地机器上的 tomcat 6.0.29 中使用 apache shinding。Tomcat 在默认端口 8080 上运行。 2. 这是小工具 xml

  </ModulePrefs>
  <Content type="html">
    <![CDATA[
 <link rel="stylesheet" ....type="text/css"/>
 <script type="text/javascript" src="path/to/local/dojo.js"></script>
    <script>
    function loader () {
        dojo.require ("dijit.Editor");
        dojo.addOnLoad(callback);
    }

    function callback () {
        new dijit.Editor ({}, dojo.byId("editorNode"));
    }

    dojo.config.parseOnLoad = true;
    dojo.config.dojoBlankHtmlUrl = '/blank.html';
    dojo.addOnLoad(loader);
</script>
<div id="editorNode" class="tundra">Hello, xcc world!</div>

    ]]>
  </Content>
</Module>
  1. 我正在 apache shindig 的默认 samplecontainer 中测试这个小工具。我在 google chrome 中进行了测试,但在 javascript 控制台中出现以下错误

    Access-Control-Allow-Origin 不允许来源http://127.0.0.1:8080 。未捕获的错误:无法加载“dijit.Editor”;最后尝试'../dijit/Editor.js'

4

1 回答 1

0

据我所知,您遇到了跨域权限错误。这意味着您无法加载编辑器 dijit,因为 dojo 尝试使用 Ajax 加载它(并且 Ajax 无法访问不同域上的资源)。听起来很傻,127.0.0.1:8080 被认为是与 localhost:8080 不同的域。

因此,不要从http://127.0.0.1:8080访问您的 shindig 服务器,而是尝试从http://localhost:8080访问它。

让我知道这是否有帮助。

于 2011-01-14T21:54:23.023 回答