使用AJAX从S3中将JSON数据加载到Handsontable中
问题描述:
我试图用页面加载数据预先填充Handsontable电子表格。我的JSON文件存储在S3上。我能够通过AJAX成功地从S3加载数据,但之后我无法用我检索的数据填充插件。我当前的代码:使用AJAX从S3中将JSON数据加载到Handsontable中
$(document).ready(function() {
var objectData = $.ajax({
type: 'GET',
url: "https://s3-us-west-2.amazonaws.com/path/to/file.json",
dataType: 'json',
crossDomain: true,
success: function(data) {
return data;
}
}),
container = document.getElementById('example'),
hot;
hot = new Handsontable(container, {
data: objectData,
colHeaders: true,
minSpareRows: 1
});
});
我没有收到任何错误,但可能数据无法按时加载?
答
这不是$.ajax
的工作方式。在success
一个返回什么也不做objectData
是一个承诺的对象,而不是响应数据
尝试:
$.ajax({
type: 'GET',
url: "https://s3-us-west-2.amazonaws.com/path/to/file.json",
dataType: 'json',
crossDomain: true,
success: function(data) {
new Handsontable($('#example')[0], {
data: data,
colHeaders: true,
minSpareRows: 1
});
}
}).fail(function() {
console.log('Request failed, inspect arguments for details')
})
感谢您指出我的错误。出于某种原因,我认为将数据放入一个变量并在其后加载会是一个好主意。 –