2014-12-03 40 views
3

我绑webix表,并收集骨干结合起来,作为所示webix文档(http://docs.webix.com/desktop__backbone_collections.html),但是它似乎没有工作的。对象同步调用发生,但没有数据加载。集成webix表和骨干

budgets = new Backbone.Budget.Collection(window.budget) 
    list = 
     width    : 320 
     view    : "datatable" 
     id     : "budget_list" 
     backbone_collection : budgets 
     select    : true 
     scroll    : false 
     columns    :[ 
       {header : "Month",    id: "budget_month"} 
       {header : "Year",    id: "budget_year"} 
       {header : "Currency",   id: "base_currency"} 
       ] 

     on: { 
       onAfterRender  : () -> 
         console.log("Sync ", @_settings) 
         @sync(@_settings.backbone_collection) 

       } 
+0

您可以发布'Backbone.Budget.Collection'和'window.budget'的结构? – 2014-12-10 07:44:15

+0

@ZacharyK你可以发布你的模型代码?并在其中设置网址到REST服务 – Deeptechtons 2014-12-11 09:57:45

回答

1

它很可能是你打1的服务器)不指定'Content-type: application/json',这是通过在响应客户拒绝;或者2)没有响应OPTIONS预飞行,因此抛出CORS security block。如果不访问服务器,两者都很难解决。

卷曲不会受到CORS问题,而是一个基于浏览器的其余部分将客户端 - 因此最能代表您的问题。

尝试使用Chrome advanced rest client在用户界面中给出的URL和标题。

如果您在运行该UI时不知道URL和标头,那么sniff your requests

+0

有没有Cors问题它的所有在同一台服务器上,是的,服务器正在发送一个内容类型(webmachine往往得到HTTP非常正确) – 2014-12-10 08:53:47

2

从onAfterRender调用.SYNC导致问题,因为同步导致的数据表重新渲染,从而引发新的同步,它会导致新的重新渲染等

为了打破这种循环,可以使用webix。一次会保证处理程序只执行一次。

检查更新的片段http://webix.com/snippet/5dd61a47