求助大神帮忙指点,或者给带sql数据库的demo,谢谢我本来菜鸟,想学下handsontable,类似网页excel的Js.
现在问题:获取到了json数据,但是无法在handsontable的表格上显示。报错图片:
前台代码:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8" />
<script data-jsfiddle="common" src="script/jquery.min.js"></script>
<script src="handsontable/dist/handsontable.full.js"></script>
<link rel="stylesheet" media="screen" href="handsontable/dist/handsontable.full.min.css">
<script src="script/jquery.min.js"></script> <title>test</title>
<script type="text/javascript">
function getCarData1() {
$.ajax({
type: "POST",
url: "hw.ashx",
data:{
"action": "query"
},
dataType: "text",
//contentType: 'application/json; charset=utf8',
//data: JSON.stringify(true);
success: function (data) {
$("p").text(data);
var json = eval('(' + data + ')');
alert(json.Name);
}
});
} function getCarData() {
return data = [
// { number: '0001', name: '张三'},
// { number: '0002', name: '李四'} { id: '43', no: '888' }, { id: '58', no: '015' }, { id: '102', no: '111' }];
}; //
function dataSchema() { }
var selection = [0, 0, 0, 0];
$(document).ready(function () {
var container = document.getElementById('example1'), hot;
hot = new Handsontable(container, {
data: getCarData1(),
rowHeaders: true,
colHeaders: ['id', 'no'],
columns: [
{ data:'id'},
{ data:'no'},
],
afterSelectionEnd: function (x1, y1, x2, y2) {
selection = [x1, y1, x2, y2];
} });
});
</script>
</head><body>
<div id="example1" style="width:600px;"></div>
<br>
<p></p>
</body>
</html>
现在问题:获取到了json数据,但是无法在handsontable的表格上显示。报错图片:
前台代码:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8" />
<script data-jsfiddle="common" src="script/jquery.min.js"></script>
<script src="handsontable/dist/handsontable.full.js"></script>
<link rel="stylesheet" media="screen" href="handsontable/dist/handsontable.full.min.css">
<script src="script/jquery.min.js"></script> <title>test</title>
<script type="text/javascript">
function getCarData1() {
$.ajax({
type: "POST",
url: "hw.ashx",
data:{
"action": "query"
},
dataType: "text",
//contentType: 'application/json; charset=utf8',
//data: JSON.stringify(true);
success: function (data) {
$("p").text(data);
var json = eval('(' + data + ')');
alert(json.Name);
}
});
} function getCarData() {
return data = [
// { number: '0001', name: '张三'},
// { number: '0002', name: '李四'} { id: '43', no: '888' }, { id: '58', no: '015' }, { id: '102', no: '111' }];
}; //
function dataSchema() { }
var selection = [0, 0, 0, 0];
$(document).ready(function () {
var container = document.getElementById('example1'), hot;
hot = new Handsontable(container, {
data: getCarData1(),
rowHeaders: true,
colHeaders: ['id', 'no'],
columns: [
{ data:'id'},
{ data:'no'},
],
afterSelectionEnd: function (x1, y1, x2, y2) {
selection = [x1, y1, x2, y2];
} });
});
</script>
</head><body>
<div id="example1" style="width:600px;"></div>
<br>
<p></p>
</body>
</html>
所以 ajax 应该这写 dataType: "json" 就可以了。如果 dataType: "text" ,var json = eval('(' + data + ')'); 这个地方你得到的应该是 JSON 数组。alert(json.Name); 肯定要 undefined。
你用一个函数,这个函数没有返回值,还是个异步的 ajax 。