Init table with data 仅适用于断点
Init table with data works only with breakpoint
我使用 ajax.
获得的数据初始化 table(使用此库 bootstrap-table)
var arr = [];
var getRows = function () {
$.ajax({
type: "GET",
url: hostUrl,
contentType: "application/json;",
dataType: "json",
success: function (result) {
arr = result.d;
}
});
return arr; // breakpoint here
};
$('#bootstrap-table').bootstrapTable({
data: getRows()
});
仅当我在 getRows 函数中的 return 上设置断点时,此代码才有效。尝试在 return 之前添加超时 - 但这没有帮助。
如果我不添加断点,我将一无所获。
ajax 调用是异步的。
arr 在调用返回之前返回。
你最好选择这样的东西:
$.ajax({
type: "GET",
url: hostUrl,
contentType: "application/json;",
dataType: "json",
success: function (result) {
$('#bootstrap-table').bootstrapTable({
data: result.d
});
}
});
您在查询中缺少异步参数
$.ajax({
type: "GET",
url: hostUrl,
async: false, //This is the guy you want !!!!!!!!!!!!!
contentType: "application/json;",
dataType: "json",
success: function (result) {
arr = result.d;
}
});
实际上你最好使用 promises。只需 return $.ajax
承诺并处理该函数外部的数据 return:
// GetRows promises to return rows of data...
var getRows = function () {
// simply return the ajax promise
return $.ajax({
type: "GET",
url: hostUrl,
contentType: "application/json;",
dataType: "json",
});
};
然后这样消费:
// Use the returned promise to process the data
getRows().done(function(rows){
$('#bootstrap-table').bootstrapTable({
data: rows
});
});
回调或 success:
处理程序的问题是您正在将 GUI 依赖项构建到 GetRows
方法中。
我使用 ajax.
获得的数据初始化 table(使用此库 bootstrap-table)var arr = [];
var getRows = function () {
$.ajax({
type: "GET",
url: hostUrl,
contentType: "application/json;",
dataType: "json",
success: function (result) {
arr = result.d;
}
});
return arr; // breakpoint here
};
$('#bootstrap-table').bootstrapTable({
data: getRows()
});
仅当我在 getRows 函数中的 return 上设置断点时,此代码才有效。尝试在 return 之前添加超时 - 但这没有帮助。
如果我不添加断点,我将一无所获。
ajax 调用是异步的。
arr 在调用返回之前返回。
你最好选择这样的东西:
$.ajax({
type: "GET",
url: hostUrl,
contentType: "application/json;",
dataType: "json",
success: function (result) {
$('#bootstrap-table').bootstrapTable({
data: result.d
});
}
});
您在查询中缺少异步参数
$.ajax({
type: "GET",
url: hostUrl,
async: false, //This is the guy you want !!!!!!!!!!!!!
contentType: "application/json;",
dataType: "json",
success: function (result) {
arr = result.d;
}
});
实际上你最好使用 promises。只需 return $.ajax
承诺并处理该函数外部的数据 return:
// GetRows promises to return rows of data...
var getRows = function () {
// simply return the ajax promise
return $.ajax({
type: "GET",
url: hostUrl,
contentType: "application/json;",
dataType: "json",
});
};
然后这样消费:
// Use the returned promise to process the data
getRows().done(function(rows){
$('#bootstrap-table').bootstrapTable({
data: rows
});
});
回调或 success:
处理程序的问题是您正在将 GUI 依赖项构建到 GetRows
方法中。