我正在尝试使用我从服务(使用ajax调用)获取的JSON数据填充JSTree.但是,我在jquery.jstree.js文件中收到"既没有数据也没有ajax设置提供错误".因此,JSTree只显示一个加载gif.
AJAX代码(编辑为尝试将json设置为局部变量test,然后返回测试)
function getJSONData() {
var test;
$
.ajax({
async : true,
type : "GET",
url : "/JavaTestService/rs/TestService/MyFirstTestService?languageCode=en_US&version=2",
dataType : "json",
success : function(json) {
test = json;
},
error : function(xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
test = "error";
}
});
return test;
}
Run Code Online (Sandbox Code Playgroud)
JSTree代码
var jsonData = getJSONData();
createJSTrees(jsonData);
function createJSTrees(jsonData) {
$("#supplierResults").jstree({
"json_data" : {
"data" : jsonData
},
"plugins" : [ "themes", "json_data", "ui" ]
});
Run Code Online (Sandbox Code Playgroud)
经过一些调试后,我发现传递给createJSTrees方法时jsonData是未定义的.我是否在Ajax代码中正确检索数据?提前致谢
我正在尝试为jQuery数据表中的几列指定固定宽度.我试图通过datatables文档中指定的列定义来完成此任务,但列和列标题仍然是自动调整大小的.
JavaScript的:
var table = $('#example2').DataTable({
"tabIndex": 8,
"dom": '<"fcstTableWrapper"t>lp',
"bFilter": false,
"bAutoWidth": false,
"data": [],
"columnDefs": [
{
"class": 'details-control',
"orderable": false,
"data": null,
"defaultContent": '',
"targets": 0
},
{
"targets": 1},
{
"targets": 2,
"width": "60px"},
{
"targets": 3,
"width": "1100px"},
{
"targets": 4},
{
"targets": "dlySlsFcstDay"},
{
"targets": "dlySlsFcstWkTtl",
"width": "60px"}
],
"order": [
[1, 'asc']
]
});
Run Code Online (Sandbox Code Playgroud)
HTML:
<div class="forecastTableDiv">
<table id="example2" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<th colspan="5"></th>
<th …Run Code Online (Sandbox Code Playgroud) css-tables ×1
datatables ×1
html-table ×1
javascript ×1
jquery ×1
json ×1
jstree ×1
web-services ×1