2014-09-08 3 views
0

Я использую один ресурс страницы html на другой странице, подобной этой.DOJO href - Issue

<div class="appTrailingAccordionContainer" data-dojo-type="dijit/layout/AccordionContainer" data-dojo-props="minSize:20, region:'trailing', splitter:true"> 
      <div data-dojo-type="dijit/layout/AccordionPane" title="Chat" href = "OnlineUsers.jsp"> 
      </div> 
     </div> 

В отдельной странице onlineUsers.jsp странице работает отлично, но на этой странице дает

ReferenceError: ajaxReqForLoadOnlineGrid is not defined 

ajaxReqForLoadOnlineGrid функция на странице onlineUsers.jsp. в чем ошибка?

ответ

0

Ну, это так же просто, как говорит ошибка, функция не определена. Если он работает, когда вы посещаете страницу отдельно, но не работает, когда используете ее через свойство href, то вы, вероятно, определили функцию на OnlineUsers.jsp.

Вы должны знать, что модуль dijit/layout/AccordionPane, аналогичный dijit/layout/ContentPane, не позволяет выполнять сценарии внутри асинхронно загруженной страницы.

Итак, переместите функцию ajaxReqForLoadOnlineGrid() на родительскую страницу JSP или используйте модуль dojox/layout/ContentPane. Этот модуль имеет свойство, называемое executeScripts, которое позволяет выполнять сценарии на удаленной странице.

Во всяком случае, модуль dijit/layout/AccordionPane устарел, и переход на dijit/layout/ContentPane или dojox/layout/ContentPane - неплохой ход.

Смежные вопросы