- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
JQuery 数据表在我们的网络应用程序中广泛使用,通常它们不会出现问题。但是这个有一个错误,在执行 fnReloadAjax 期间,它给出错误“TypeError: k is undefined”,该错误来自 dataTables.js 行,其中“fnServerData:function(e,j,m,k) ”发生。这是数据表定义:
url = '?p=user.creation_rules_browser&page_action=getData';
data_table = jQuery('#data').dataTable({
bJQueryUI: true,
sDom: '<"template-box"fl><"template-box"ip><"template-box"r><"ui-widget ui-widget-content ui-helper-clearfix ui-corner-all template-box" t><"template-box"p<"toolbar">>',
sAjaxSource: url,
bPaginate: false,
bProcessing: true,
bAutoWidth: false,
bSort:false,
bFilter:false,
bInfo:false,
aoColumns: [
{ "bSortable": false },
{ "bSortable": false },
{ "bSortable": false },
{ "bSortable": false },
{ "bSortable": false },
{ "bSortable": false },
{ "bSortable": false }
]
} );
它加载得很好,但是有一列带有操作菜单,可以让您编辑该行。这将弹出一个 jQuery 对话框,当您点击“保存”时,该对话框将执行以下操作:
jQuery.getJSON('index.php',{
p: "user.creation_rules_browser",
page_action: "edit_rule",
rule_name: rule_name_val,
target_field: $('#input_target_field').val(),
action_value: action_value_val,
action_set_to_blank: action_set_to_blank_val,
id: data.id
}, function (json) {
if (json.error) {
Dialog.alert({title: "Error Saving Rule"}, json.error);
} else {
jQuery(self).dialog('close');
url = 'index.php?p=user.creation_rules_browser&page_action=getData';
data_table.fnReloadAjax(url);
}
}
保存实际上可以工作,但由于该错误,数据表没有重新加载。它应该返回到该 url 和“getData”并重新加载,但它卡在 fnServerData 中,因为 k 未定义。这个 k 对应于非 min fnServerData 声明中的 oSettings,但我已经完成了 console.log 并验证了 fnGetSettings 返回了预期的 oSettings 副本。最初,url 没有在对 fnReloadAjax 的调用中传递,所以我认为这可能是一个问题并将其添加进去,但得到了相同的结果。
所以我不明白为什么它是未定义的。我想我的下一步是使用 dataTables.js 的非最小版本,并在其中添加一些调试,但我希望这里有人会发现代码中做错的一些简单的事情。
最佳答案
没关系,我发现除了当前版本之外,还加载了 dataTables 和 fnReloadAjax 的过时版本。把它去掉就解决了。
关于javascript - jQuery dataTable 1.9.4 fnReloadAjax 给出 "TypeError: k is undefined"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18970330/
我使用以下代码来触发服务器: $.fn.dataTableExt.oApi.fnReloadAjax = function ( oSettings, sNewSource, fnCallback, b
使用 Datatables 和 fnReloadAjax 插件(见下文),我尝试使用以下代码在提交对话框表单后从服务器端脚本重新加载表的数据: submitHandler: function(form
每当我单击 tambahskpd 按钮时,我都尝试使用 fnReloadAjax() 重新加载我的数据表 ajax。以下是语法: $(document).ready(function(){ $('#
我正在尝试从新的 ajax 源重新加载数据表。 我的意思是在页面加载时,它从 1 个源加载,但在页面上执行某些操作后,需要从另一个源加载。 我正在通过fnreloadajax()尝试它,但它不起作用,
我想我不会再遇到 dataTables 的问题,因为它现在可以正常工作,即使是刷新也是如此。 有一段时间它在某些地方有效,但在某些地方它只是给出了这个愚蠢的错误。 TypeError: oTable.
JQuery 数据表在我们的网络应用程序中广泛使用,通常它们不会出现问题。但是这个有一个错误,在执行 fnReloadAjax 期间,它给出错误“TypeError: k is undefined”,
我是一名优秀的程序员,十分优秀!