javascript - 在 YUI 中的 DataSource 中显示网格中的数据?
问题描述
我在这个问题中附上了我的代码。
我正在使用 YUI-3 从 DataSource 以网格格式显示数据
我无法从数据源获取数据。但是从 URL 传递的数据。
我的网格No data to display
总是显示..
<script src="http://yui.yahooapis.com/3.18.1/build/yui/yui-min.js"></script>
<script>
YUI().use("datatable", "datasource-get", "datasource-jsonschema", "datatable-datasource", function (Y) {
var url = "http://domainname.com/trans/sample_json.php?format=json",
query = "&return=true",
dataSource,
table;
dataSource = new Y.DataSource.Get({ source: url });
dataSource.plug(Y.Plugin.DataSourceJSONSchema, {
schema: {
resultListLocator: "query.results.result",
resultFields: [
"Title",
"Phone",
{
key: "Rating",
locator: "Rating.AverageRating",
parser: function (val) {
// YQL is returning "NaN" for unrated restaurants
return isNaN(val) ? -1 : +val;
}
}
]
}
});
table = new Y.DataTable({
columns: [
"Title",
"Phone",
{
key: "Rating",
formatter: function (o) {
if (o.value === -1) {
o.value = '(none)';
}
}
}
],
width:"100%",sortable: true,
summary: "Pizza places near 98089",
caption: "Table with JSON data from Datasource...."
});
table.plug(Y.Plugin.DataTableDataSource, { datasource: dataSource });
table.render("#pizza");
table.datasource.load({
callback: {
success: function (e) {
table.datasource.onDataReturnInitializeTable(e);
},
failure: function() {
Y.one('#pizza').setHTML(
'The data could not be retrieved. Please <a href="?mock=true">try this example with mocked data</a> instead.');
}
}
});
});
</script>
这是sample_json.php
文件。在这里,我以 JSON 格式发送数据。
<?php
echo '{"query": {"count": 2,"created": "2013-06-04T22:50:08Z","lang": "en-US","results": {"result":[{"Title" : "Giovannis Pizzeria","Phone" : "(408) 734-4221","Rating": {"AverageRating": "4"}},{"Title" : "Pizza","Phone" : "(800) 555-1212","Rating": {"AverageRating":"NaN"}}]}}}';
?>
我找不到错误在哪里。谁能帮我。?
解决方案
您的 PHP 看起来不像在返回 JSON 数据。尝试这个?
<?php
$data = {"query": {"count": 2,"created": "2013-06-04T22:50:08Z","lang": "en-US","results": {"result":[{"Title" : "Giovannis Pizzeria","Phone" : "(408) 734-4221","Rating": {"AverageRating": "4"}},{"Title" : "Pizza","Phone" : "(800) 555-1212","Rating": {"AverageRating":"NaN"}}]}}};
header('Content-Type: application/json');
echo json_encode($data);
推荐阅读
- phpunit - Laravel 单元测试 - 添加 cookie 到请求?
- css - Laravel Mix 相对路径问题
- iis - 如何为返回服务器错误 404 的 Angular 6 应用程序的特定路由编写 IIS 服务器 URL 重写?
- java - java.lang.ClassNotFoundException:使用 Maven 和 Eclipse 的消息
- java - 错误:方法没有覆盖或实现超类型 OnCreateOptionsMenu 中的方法
- html - 表格通过单击移动列位置
- go - 不能在 func 文字的参数中使用 nil 作为类型 _Ctype_CFAllocatorRef
- applescript - 不允许脚本调试器发送击键
- c# - Nuget Library - 将库的 DLL 复制到当前项目的输出目录
- tensorflow - CNN Keras 对象定位 - 错误的预测