淘汰价值分配不起作用

Vik*_*Vik 0 javascript knockout.js

我必须从我的REST服务中获取一个值并将其分配给knockout observable

代码看起来像

   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);
Run Code Online (Sandbox Code Playgroud)

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

Joh*_*yHK 5

dailyMin立即创建observable,然后在ajax请求完成时通过调用observable并传入新值来更新它:

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);
    }
});
Run Code Online (Sandbox Code Playgroud)

顺便说一下,我不确定你为什么要打电话JSON.parse(mydata.responseText)而不是使用已经解析过的JSON响应output,但我会假设你知道你在那里做什么:-).