Вы не поняли, как работает dojo.xhrPost
, я думаю.Это асинхронно, поэтому вам понадобятся обратные вызовы:
function translate(translateObject, callback)
{
var translations = new Array();
dojo.xhrPost({
url: 'http://'+window.location.hostname+'/translate/translate',
content: { str: dojo.toJson(translateObject) },
handleAs: "json",
timeout: 2000,
load: function(response){
dojo.forEach(response.items, function(strg){
var key = strg.string;
translations[strg.string] = strg.translation;
});
callback(translations);
},
error: function(response){
callback('Ben');
}
});
}
function pickLanguage()
{
translate({title: 'Kies hier je gewenste taal', dutch: 'Nederlands', french: 'French', german: 'Deutch', english: 'English'}, function(language) {
errorDialog = new dijit.Dialog({
content: dump(language),
style: "width: 450px"
});
errorDialog.show();
});
}