Невозможно использовать виджеты Dojo в гаджете opensocial внутри контейнера Apache Shindig

Я не могу использовать виджеты Dojo в своем открытом социальном гаджете. Вот шаги, которые я следовал
1. Я использую Apache Shinding в Tomcat 6.0.29 на моей локальной машине. 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. Я протестировал в Google Chrome, и я получаю следующую ошибку в консоли JavaScript

    Происхождение http://127.0.0.1:8080/ не разрешено Access-Control-Allow-Origin. Uncaught Error: Не удалось загрузить 'dijit.Editor'; последний раз пытался "../dijit/Editor.js"

1 ответ

Из того, что я вижу, вы получаете междоменную ошибку разрешения. Это означает, что вы не можете загрузить редактор dijit, потому что dojo пытается загрузить его с помощью Ajax (а Ajax не может получить доступ к ресурсам в другом домене). Как бы глупо это не звучало, 127.0.0.1:8080 считается доменом, отличным от localhost: 8080.

Поэтому вместо доступа к серверу shindig по http://127.0.0.1:8080/ попробуйте получить доступ к нему с http://localhost:8080/.

Дайте мне знать, если это поможет.

Другие вопросы по тегам