0
Category1有效,但類別沒有。兩者都有相同的數據。但類別是JSON響應。 類是將kendo.data.datasource json數據綁定到kendo listview
{
"d": [
{"__type": "MenuData+Category", "id": 1, "name": "drinks"},
{"__type": "MenuData+Category", "id": 2, "name": "fruits"}
]
}
難道我刪除d
。如果是的話,我該怎麼做呢?如果不是最新錯誤?
<div id="categories" data-role="view" data-title="Categories">
<header data-role="header">
<div data-role="navbar">
<span data-role="view-title"></span>
</div>
</header>
<ul id="Ul1"
data-role="listview"
data-source="category" [NOTE: Changing this datasource to category1 works]
data-template="categories-template"
data-style="inset">
</ul>
</div>
<script id="categories-template" type="text/x-kendo-template">
#: name #
</script>
<script>
var app = new kendo.mobile.Application(),
category = new kendo.data.DataSource({
serverFiltering: true,
transport: {
read: {
type: "POST",
url: "http://localhost:60143/Mobile/Menu/MenuData.asmx/getCategory",
contentType: "application/json; charset=utf-8",
dataType: "json",
error: function (xhr, ajaxOptions, thrownError) {
alert("error " + xhr.responseText);
}
},
schema: {
data: "d"
},
type: "json",
parameterMap: function (options) {
return JSON.stringify(options);
}
}
}),
category1 = new kendo.data.DataSource({
data: [
{ id: 1,name: "Fruits" },
{ id: 2,name: "Drinks" },
]
});
</script>
你是對的。這工作。但我遇到了另一個問題。我不能在數據源上使用過濾器方法。我將這個從odata改爲json。 category.filter()在odata上工作,但不適用於json。你能告訴我爲什麼嗎? – dtksmsl
GET返回500條消息:{「Message」:「嘗試使用GET請求調用方法\ u0027HelloWorld \ u0027,這是不允許的。」,「StackTrace」:「System.Web.Script.Services .RestHandler.GetRawParams(WebServiceMethodData methodData,HttpContext上下文)\ r \ n at System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context,WebServiceMethodData methodData)「,」ExceptionType「:」System.InvalidOperationException「} – dtksmsl
只需讓您知道我使用的是不同的網址,因此方法名稱與此不同。當我使用category.filter({field:「id」,operator:「eq」,value:1})時,我得到一個錯誤響應:{「Message」:「無效的JSON原語:skip。」,「StackTrace」: 「在System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject()\ r \ n System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32深度)\ r \ n在System.Web.Script.Serialization.JavaScriptObjectDeserializer。 BasicDeserialize ...... – dtksmsl