我对kendoUI和json很新,我的问题是,似乎数据没有加载,可能是错误的架构或其他东西,没有错误,只是组合框加载整个时间。 这是我的示例代码:
$(document).ready(function () {
clientDS = new kendo.data.DataSource({
transport: {
read: {
url: "http://localhost/JSON_MP.asmx/GetListCountries?developerId=101&developerHash=9df7273b410761f74331bde746e5c2354b73b487×tamp=1242207092430", //Note the URL path!
dataType: "json",
contentType: "application/json; charset=utf-8"
}
},
schema: {
data: "listValues"
}
});
$("#kendoCboClient").kendoComboBox({
placeholder: "Select a Country...",
dataTextField: "name",
dataValueField: "id",
dataSource: clientDS
});
});
和我的数据堆栈:
{“errorString”:“ok”,“errorCode”:0,“listValues”:[{“name”:“UNKNOWN”,“id”:1},{“name”:“南非”,“ ID “:2},{” 名称 “:” 莫桑比克”, “ID”:3},{ “名称”: “菲”, “ID”:4},{ “名称”: “纳米比亚”, “ID” :5},{“name”:“United Arab Emirates”,“id”:6},{“name”:“England”,“id”:7},{“name”:“Swaziland”,“id” :8},{ “名”: “葡萄牙”, “ID”:9},{ “名”: “希腊”, “ID”:10},{ “名”: “毛里求斯”, “ID”:11 },{ “名称”: “坦桑尼亚”, “标识”:12},{ “名称”: “波扎那”, “ID”:13},{ “名称”: “西班牙”, “ID”:15}, {“name”:“Scottland”,“id”:16},{“name”:“Australia”,“id”:17},{“name”:“New Zealand”,“id”:18},{ “name”:“Cyprus”,“id”:19},{“name”:“United States”,“id”:20},{“name”:“Germany”,“id”:21},{“命名 “:””, “ID”:22},{ “名”: “马达加斯加”, “ID”:23},{ “名”: “马来西亚”, “ID”:24},{ “名”: “塞舌耳”, “标识”:25}], “listType”: “国家”}
如果有人可以指出我正确的方向或某事,请注意在数据堆栈中我使用“listValues”对象,可能是因为“”errorString“:”ok“,”errorCode“: 0,“部分问题是什么?
答案 0 :(得分:2)
我刚试过你的代码并且工作得很好!我只需更改一行代码:url,当然,我没有在与你相同的路径中部署文件。
这么说......:
url
,因为您在代码中输入了var clientDS = new kendo.data.DataSource({
transport: {
read: function (options) {
$.ajax({
url : "http://localhost/JSON_MP.asmx/GetListCountries?developerId=101&developerHash=9df7273b410761f74331bde746e5c2354b73b487×tamp=1242207092430",
data : options.data,
success: function (result) {
alert("Good!");
options.success(result);
},
error : function (xhr, textStatus, errorThrown) {
alert("bad!: " + xhr.status + " - " + textStatus + " - " + errorThrown);
}
});
}
},
schema : {
data : "listValues"
}
});
$("#kendoCboClient").kendoComboBox({
placeholder : "Select a Country...",
dataTextField : "name",
dataValueField: "id",
dataSource : clientDS
});
并检查它是否实际返回了您在问题中包含的JSON。
{{1}}
并查看是否显示错误警报,并为您提供一些信息。
答案 1 :(得分:0)
我有类似的问题 - 没有数据也没有错误。实际问题是返回json数据的页面是发送“html”内容类型标题而不是“application / json”。这个问题实际上在这里得到解决:http://docs.kendoui.com/tutorials/PHP/build-apps-with-kendo-ui-and-php(向下滚动到“没有数据......”部分),并通过确保发送正确的内容类型标题来修复。
答案 2 :(得分:0)
就我而言,我有这个: 我的测试html文件来自本地文件系统,我从服务器URL加载的json对象。 有一次,我将url更改为从本地文件系统读取,它解决了问题