Получите родительский узел, в который вы вставляете содержимое AJAX, и анализируйте ТОЛЬКО этот узел. Вы получаете эту ошибку, потому что другие виджеты в вашем DOM анализируются дважды. Примерно так:
require(["dojo/dom", "dojo/parser", "dojo/_base/xhr"/*, etc */ ],
function(dom, parser, xhr) {
var request = xhr.get({
// your details here
});
request.then(function(data) {
// transform data if necessary
var parentNode = dom.byId("/* parent id */");
parentNode.innerHTML = data;
// This is where the widgets get built!
parser.parse(parentNode); // or parser.parse("/* parent id */");
}, function(err) {
// handle error
});
});
Также убедитесь, что вы включили правильные модули dojo / dijit. Распространенная ошибка - забыть включить модули для виджетов, которые вы пытаетесь вставить. Например, если вы используете TabContainer, добавьте «dijit / layout / TabContainer» в список необходимых модулей.