我有一個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。