如何在javascript的引导数据表中将参数字符串转换为列或已知对象
Posted
技术标签:
【中文标题】如何在javascript的引导数据表中将参数字符串转换为列或已知对象【英文标题】:how to convert parameter string as column or known object in bootstrap datatable in javascript 【发布时间】:2021-06-18 05:32:54 【问题描述】: 在 javascript 文件中: ``` 函数 onSearch(过滤器,数据,参数) this.filter = 过滤器; 变量行 = 1; $.ajax( 类型:“发布”, 数据:数据, contentType: "应用程序/json; charset=utf-8", 数据类型:“json”, 网址:网址, 缓存:假, 成功:功能(味精) var json = JSON.parse(msg.d); var html = ""; $.each(json, function (index, obj) //html += "" // + "" + row.toString() + "" // + "" + obj.Material_No + "" // + "" + obj.Material_Name + "" // + ""; html += 参数; 行++; ); var table = $('#tbDetails').DataTable(); table.destroy(); $("#tbDetails tbody").html(html); $('#tbDetails').DataTable( “破坏”:是的, “订单”:[[0,“asc”]] ); $('#myModal-1').modal('toggle'); , 错误:函数(e) 警报(e.responseText); ); 返回假; ; ```在 html 文件中:
``` var 参数 = "" + "" + row.toString() + "" + "" + obj.Material_No + "" + "" + obj.Material_Name + "" + ""; onSearch(过滤器,数据,参数); ```请帮忙,我想知道对象的可变参数,因为我之前评论过代码
【问题讨论】:
【参考方案1】:您想告诉onSearch
如何格式化它获取的数据,但您不能直接引用row
和obj
,因为它们在网络调用完成之前不可用。您正在寻找的是callback function。您实际上已经在使用回调 - 您将回调函数作为第二个参数传递给 $.each
,以及 $.ajax
的 success
参数。
您需要更改onSearch
以接受回调函数作为第三个参数,然后在调用onSearch
时将其传递,类似于:
function onSearch(filter, data, callback)
// ...
$.ajax(
// ...
success: function (msg)
var json = JSON.parse(msg.d);
var html = callback(json);
// ...
,
);
onSearch(filter, data, function (json)
var html = "";
$.each(json, function (index, obj)
html += ""
+ "" + obj.toString() + ""
+ "" + obj.Material_No + ""
+ "" + obj.Material_Name + ""
+ "";
);
return html;
);
没有名为row
的变量,所以我假设它应该是obj
。您可能需要进行相应的编辑。
【讨论】:
非常感谢您的回复,但我有这样的错误: function onSearch(filter, data, callback) // ... $.ajax( --> Uncaught ReferenceError : $ 未定义 要使用$
,您需要在您的页面中包含jQuery。请参阅here 了解更多信息。
非常感谢您的回复。哦,当然,已经。作为我之前的注释代码 $.each(json, function (index, obj) html += "" + "" + row.toString() + "" + "" + obj.Material_No + "" + "" + obj .Material_Name + "" + ""; row++; );它运行良好。但是,我想用参数替换这段代码。所以,变量 html 变成了 html+=paramater;以上是关于如何在javascript的引导数据表中将参数字符串转换为列或已知对象的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Javascript .filter() 方法中将额外参数传递给回调函数?