2015-03-03 73 views
0

我是新來敲除,並試圖創建我的第一個腳本,基於不斷變化的JSO腳本更新。問題是我似乎得到一個意外的錯誤:Uncaught SyntaxError:意外的標識符。來自JSON的敲除綁定

<head> 
<script type='text/javascript' src='knockout-3.3.0.js'></script> 
<script type="text/javascript"> 

callService(); 

var Match = function(){ 
var self = this; 
self.matches = ko.observableArray(); 

self.ajax = function (uri, method, data) { 
    var request = { 
     url: uri, 
     type: method, 
     contentType: "application/json", 
     accepts: "application/json", 
     cache: false, 
     dataType: 'json', 
     data: JSON.stringify(data), 
     error: function (jqXHR) { 
      console.log("ajax error " + jqXHR.status); 
     } 
    }; 
    return $.ajax(request); 
} 


function callService(){ 
    self.ajax(url + "matchticker.json" + requestData, 'GET').done(function (data) { 
     self.matches.removeAll(); 
     for(int i = 0; i < data.Result.length; i++){ 
      self.matches.push(..data..); 
     } 
    } 
} 


} 

ko.applyBindings(new Match()); 


</script> 

</head> 

<body> 
<ul class="list-group col-sm-12 col-xs-12" data-bind='foreach: matches'> 
    <li data-bind="html: match_id"></li> 
</ul> 

</body> 
+0

你爲什麼推..data ..而不是data.Result [i]? – 2015-03-03 11:55:12

回答

0

這裏有很多語法錯誤。下一次嘗試先弄清你的代碼。 看看它的工作原理:

var Match = function(){ 

    var self = this; 
    self.matches = ko.observableArray(); 

    self.ajax = function (uri, method, data) { 
     var request = { 
      url: uri, 
      type: method, 
      contentType: "application/json", 
      accepts: "application/json", 
      cache: false, 
      dataType: 'json', 
      data: JSON.stringify(data), 
      error: function (jqXHR) { 
       console.log("ajax error " + jqXHR.status); 
      } 
     }; 
     return $.ajax(request); 
    }; 


    function callService(){ 
     self.ajax(url + "matchticker.json" + requestData, 'GET').done(function (data) { 
      self.matches.removeAll(); 
      for(var i = 0; i < data.Result.length; i++){ 
       self.matches.push(data.Result[i]); 
      } 
     }); 
    } 

    callService(); 

}; 

ko.applyBindings(new Match()); 
+0

未捕獲ReferenceError:callService未定義 – 2015-03-03 12:00:44

+0

您正在調用超出範圍的函數(callService)。 – denisol 2015-03-03 12:03:44

+0

那麼我怎麼可以每5秒呼叫callService? – 2015-03-03 12:06:28