dojo ItemFileReadStore.getValue混合返回值未作为字符串处理
我正在使用dojo.data.ItemFileReadStore查询包含数据的json文件。主要目的是在Js级别查找翻译 Json数据的“id”表示单词,而“t”表示翻译dojo ItemFileReadStore.getValue混合返回值未作为字符串处理,dojo,Dojo,我正在使用dojo.data.ItemFileReadStore查询包含数据的json文件。主要目的是在Js级别查找翻译 Json数据的“id”表示单词,而“t”表示翻译 function translate(word) { var json = '/my/language/path/es.json'; var reader = new dojo.data.ItemFileReadStore({ url: json }); var queryObj = {}; queryObj
function translate(word)
{
var json = '/my/language/path/es.json';
var reader = new dojo.data.ItemFileReadStore({
url: json
});
var queryObj = {};
queryObj["id"] = word;
reader.fetch({
query: queryObj,
onComplete: function(items, request){
if (items.length > 0) {
var t = reader.getValue(items[0], 't');
if (dojo.isString(t)) {
return t;
}
}
return word;
},
onError: function(error, request){
return word;
}
});
}
无论是否存在转换,返回值始终是未定义的。有什么想法吗?
我试过打字,但没有成功。你可以这样做:
function translate(wordId) {
var translatedWord= wordId;
var store = new dojo.data.ItemFileReadStore({ data: storeData });
store.fetch({ query: { id: wordId },
onItem: function (item) {
translatedWord= (store.getValue(item, 't'));
}
});
return translatedWord;
}