2011-03-31 57 views
0

我使用dojo.data.ItemFileReadStore查询包含数据的json文件。主要目的是在Js级找到翻译。dojo ItemFileReadStore.getValue混合返回值不作为字符串处理

JSON数据具有“ID”字和“t”的翻译

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; 
    } 
});  
} 

返回值始终是一个不确定的羯羊有翻译或没有。有任何想法吗? 我尝试了没有成功的类型转换。

回答

1

你可以这样说:

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; 

} 
+0

它的工作正确这样。谢谢! – oromero 2011-03-31 20:10:00

相关问题