2014-09-30 32 views
0

我有一個OData服務返回以下json。當odata url不是本地主機和web客戶端主機是本地主機時,kendo數據源OData不工作

{ 
    "@odata.context":"http://testing.test.com/DataService/Data","value":[ 
    {"ID":1,"Description":"Test 1"} 
    ,{"ID":2,"Description":"Test 2"} 
    ,{"ID":3,"Description":"Test 3"}] 
} 

如果odata服務和調用odata服務的網頁都在本地主機上,那麼一切正常。
如果odata服務位於諸如testing.test.com之類的主機上,並且調用odata服務的網頁位於本地主機上,則所有這些都不能正常工作。
我可以在提琴手中看到數據將返回到本地主機上的客戶端,但網格從不顯示數據。

<script> 
$(document).ready(function() { 
    var crudServiceBaseUrl = "http://localhost/DataService/Data", 
     dataSource = new kendo.data.DataSource({ 
      transport: { 
       read: { 
        url: crudServiceBaseUrl, 
        dataType: "json" 
       }, 
       schema: { 
        data: "value", 
        model: { 
         id: "ID" 
        } 
       } 
      } 
     }); 

    $("#grid").kendoGrid({ 
     dataSource: dataSource, 
     columns: [ 
      { field: "ID", title: "ID", width: 70 }] 
    }); 

}); 
</script> 

該odata是通過ASP.NET web API託管不是wcf。
Web客戶端通過ASP.NET Web應用程序通用HTML進行託管。

我讀了一些地方,我可能必須在web.config中設置crossDomainScriptAccessEnabled =「true」,但似乎只能用於WCF webHttpBinding。但是我使用的是不是WCF的WEB API。

回答