2016-03-01 83 views
0

我得从我的REST服务值并将其分配给淘汰赛观察到淘汰赛值分配不工作

的代码看起来像

mydata=$.ajax({ url: 'http://myserver:7101/MUDRESTService/rest/v1/mudstats?onlyData=true',
    
      type: 'get', 
      dataType: 'json',  
      success: function(output) {
  

        dailyMinRest = JSON.parse(mydata.responseText).items[0].AvgSession; 
        console.log(dailyMinRest) 
        sessionCountRest = JSON.parse(mydata.responseText).items[0].Sessions; 
      }
  
      }); 

      self.dailyMin = ko.observable(dailyMinRest); 

的问题是最后一行。如果我留在这里,显然没有保证它在休息之后执行返回响应。但是,如果我将它移动到succss方法内部,那么自变量不会被解析。

回答

5

创建dailyMin观察到当你的​​Ajax请求通过调用观察到的,通过在新的价值立即完成,然后更新:

self.dailyMin = ko.observable(); 
mydata=$.ajax({ 
    url: 'http://myserver:7101/MUDRESTService/rest/v1/mudstats?onlyData=true', 
    type: 'get', 
    dataType: 'json',  
    success: function(output) { 
     self.dailyMin(JSON.parse(mydata.responseText).items[0].AvgSession); 
    } 
}); 

顺便说一句,我不知道为什么你打电话JSON.parse(mydata.responseText)代替在output中使用已解析的JSON响应,但我假设你知道你在那里做什么:-)。