我正在使用 YUI 数据表和数据源来渲染我的项目之一中的数据。返回的数据恰好为NULL,YUI数据源无法解析它。
下面是数据源和数据表的声明代码。为了便于阅读,我将每个声明分开。
列说明声明
var columnDescription =
[
{key:'Requirements'},
{key:'abc'},
{key:'xyz'}
];
该列的描述是在下面的函数中设置的。
数据源声明
var dataSrcSample = new YAHOO.util.FunctionDataSource(getDataGrid);
myDataSource.connMethodPost = true;
myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSON;
myDataSource.responseSchema = {
fields:['Requirements',
{key:'abc',parser:YAHOO.util.DataSource.parseString},
{key:'xyz',parser:YAHOO.util.DataSource.parseString}]
};
获取数据网格函数调用服务器端以从服务器获取数据。
下面是表定义本身。
YAHOO.example.sampleTable = function()
{
var columnDesc=columnDescription;
var myDataSource = dataSrcSample;
var oConfigs =
{
width:'100%'
};
var myDataTable = new YAHOO.widget.DataTable("tableContainerDiv", columnDesc, myDataSource, oConfigs);
}();
表ContainerDiv在html页面中声明。这是容器 div。
从服务器获取 JSON 数据的函数。
function getDataGrid()
{
//calls backend and gets the data
}
该函数返回包含一些空值的 json 字符串。数据源构造函数抱怨以下问题。
我检查了yui文档 http://developer.yahoo.com/yui/docs/YAHOO.util.DataSourceBase.html#method_DataSourceBase.parseString并发现字符串解析器不解析空值。我想知道是否有任何方法可以解析这些数据。我必须用handleResponse解析原始数据吗?任何建议表示赞赏。