Jtable POST无法发送数据(使用PHP)

时间:2014-11-20 09:42:06

标签: php jquery post jtable jquery-jtable

玩jtable玩得开心,但让自己陷入了困境。

我在从POST请求访问数据时遇到问题。我试图从表中的字段值传递变量,以便我可以进行自定义SQL查询。

我的主页.php:

    $(document).ready(function () {
        //Prepare jTable
        $('#PeopleTableContainer').jtable({
            title: 'Trip data';
            ajaxSettings: {
            type: 'POST'
            },
            actions: {
                listAction: 'tableactions.php?action=list',
                updateAction: 'tableactions.php?action=update',
                deleteAction: 'tableactions.php?action=delete'
            },
            fields: {
                user_id: {
                    key: true,
                    edit: false,
                    list: false
                },
                name: {
                    title: 'Name',
                    edit: false,
                    list: false
                },
                trip_id: {
                    title: 'Trip ID',
                    list: false,
                    edit: false
                },
                trip_name: {
                    title: 'Trip Name',
                    width: '50%'
                },
                time: {
                    title: 'Start time',
                    width: '25%',
                    edit: false
                },
                date: {
                    title: 'Start date',
                    width: '25%',
                    edit: false
                }
            }
        });
        //Load person list from server
        $('#PeopleTableContainer').jtable('load');
    });   

我添加了AJAX属性以确保它设置为发布。这是tableactions.php的一部分:

if($_GET["action"] == "list")
{
    //Get user ID
    $user_id = $_POST['user_id'];
    //SQL query
    $result = mysql_query("select * from userdata WHERE user_id=$user_id group by trip_id");
    //Add selected records into an array
    $rows = array();
    while($row = mysql_fetch_array($result))
    {
        $rows[] = $row;
    }
    //Return result to jTable
    $jTableResult = array();
    $jTableResult['Result'] = "OK";
    $jTableResult['Records'] = $rows;
    print json_encode($jTableResult);
}

我已尝试手动将$ user_id更改为正确的值,该表正常工作并显示正确的信息。真的绞尽脑汁试着解决这个问题。

我错过了一些明显的东西吗?为什么我无法从$ _POST获得价值?

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

我通过清理代码并将其添加到表属性中来修复此问题:

ajaxSettings: {
            type: 'POST', 
            data: {'UserId': '<?php echo $userid;?>'},
            url: './tableactions.php'
            },

现在工作正常。