datatables插件ajax发送post数据的问题

发布于 2022-09-01 18:16:59 字数 1357 浏览 18 评论 0

在用datatables插件的时候碰到的问题,想用button onclick时间触发table的reload,从而将一个input元素中用户输入的内容post到后台,以下是我写的简单的例子
<html>
<head>

<!-- jQuery -->
<script type="text/javascript" charset="utf8" src="jquery.js"></script>

<!-- DataTables -->
<script type="text/javascript" charset="utf8" src="jquery.dataTables.js"></script>

<script>
$(document).ready( function () {

$('#table_id').DataTable({
    "processing": true,
    "serverSide": true,
    "ajax": {
    url:"http://localhost/mmm",
    type:"POST",
    data:{"name":document.getElementById('test').value}
    /*data:{"name":"xdf"}*/
    }
});

} );
</script>
</head>
<body>
<input type="text" id="test">
<button onclick='var
table=$("#table_id").DataTable();table.ajax.reload();'>check</button>

Column 1Column 2
Row 1 Data 1Row 1 Data 2
Row 2 Data 1Row 2 Data 2

</body></html>

在chrome中我能看到javascript发出的http报文,当用注释中的data:{"name":"xdf"}时,http报文中确实有xdf这个值,然而换成data:{"name":document.getElementById('test').value}的时候,报文中name的值是空,不论输入什么值都是这样,求大神解答

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蛮可爱 2022-09-08 18:16:59
你那个是静态的当然是空了,当在document.ready时执行时,#test的值本来就是空。
你应该这样,改成动态的:

data: function(){
    return {
        "name":document.getElementById('test').value
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文