在 Oracle Jet 中使用 Rest Web 服务

Consuming Rest Webservices in Oracle Jet

我是 Oracle Jet 的新手。我想要实现的是在 Oracle Jet Table.

中使用 Rest Web 服务

那是我的 ViewModel

 function CustomerViewModel() {
     var self = this;

    self.DeptCol = ko.observable();
    self.datasource = ko.observable();

    self.serviceURL = '/hr/employees/';
    self.parseDept = function(response) {
        return {empno: response['empno'],
            DepartmentName: response['ename'],
            LocationId: response['job'],
            ManagerId: response['hiredate'],
            mgr: response['mgr'],
            sal: response['sal'],
            comm: response['comm'],
            deptno: response['deptno']};
    };
    self.Department = oj.Model.extend({
        urlRoot: self.serviceURL,
        parse: self.parseDept,
        idAttribute: 'empno'
    });

    self.myDept = new self.Department();
    self.DeptCollection = oj.Collection.extend({
        url: self.serviceURL,
        model: self.myDept
    });

    self.DeptCol(new self.DeptCollection());
}

这是我的观点

<table id="table" summary="Department List" aria-label="Departments Table" 
       data-bind="ojComponent:{  
   component:'ojTable',
   data:datasource,
   columns:[  
      {  
         headerText:'empno',
         field:'empno'
      },
      {  
         headerText:'ename',
         field:'DepartmentName'
      },
      {  
         headerText:'job',
         field:'LocationId'
      },
      {  
         headerText:'hiredate',
         field:'ManagerId'
      },
      {  
         headerText:'mgr',
         field:'mgr'
      },
      {  
         headerText:'sal',
         field:'sal'
      },
      {  
         headerText:'comm',
         field:'comm'
      },
      {  
         headerText:'deptno',
         field:'deptno'
      }
   ]
}"> 
</table>

当我测试我的页面时,它没有显示任何错误并且页面是空白的。有人可以帮忙吗? 谢谢

在您的 CustomerViewModel 结束时,您可能错过了实际设置 datasource 可观察对象:

self.datasource(new oj.CollectionTableDataSource(self.DeptCol()));

请查看以下教程here。 它有两种情况:

  1. 标准 Jquery.
  2. Oracle Jet 通用模型。

在您提供的示例中,您使用的是 Oracle jet Common 模型,这对于基于 Rest web 服务的 CRUD 操作非常有用。

我建议您也看看标准 Jquery 方案,它非常有用且易于使用。

希望对您有所帮助。