为什么ajax ' data '会导致代码中断?

Why does ajax `data` cause this code to break?

本文关键字:代码 中断 data ajax 为什么      更新时间:2023-09-26

我是新的JavaScript,但我已经写了一些代码,据我所见是格式化正确然而,当我添加data元素在它打破代码,但我看不出为什么根据jQuery文档,我使用.val()正确等。

<script>
$( "#button1" ).click(function() {
    $('#table').DataTable( {
        "ajax": {
                "data": [
                    "date1": $( "#inputDate1" ).val(),
                    "date2": $( "#inputDate2" ).val(),
                ],
                "url": "/server_processing/database.php",
                "type": "POST"
                },
        "serverSide": true
    } );
} );
</script>

数组文字[]包含一个逗号分隔的项列表。

对象字面值{}包含一个逗号分隔的键:值对列表。

在数组文字中有对象文字的主体。


在数组或对象字面量后面有逗号,虽然在某些JS版本中是有效的,但可能会出现问题。所以把它也去掉


            "data": {
                "date1": $( "#inputDate1" ).val(),
                "date2": $( "#inputDate2" ).val()
            },

有一个逗号不属于这里。如下所述,另一个问题是数组不能有关联键。

<script>
$( "#button1" ).click(function() {
    $('#table').DataTable( {
        "ajax": {
                "data": {
                    "date1": $( "#inputDate1" ).val(),
                    "date2": $( "#inputDate2" ).val() // No , here
                },
                "url": "/server_processing/database.php",
                "type": "POST"
                },
        "serverSide": true
    } );
} );
</script>