无法使用Post方法和JQXGRID(jqwidgets)

时间:2015-07-31 10:24:14

标签: python bottle jqxgrid jqwidget

我基本上是尝试使用SQL SERVER网络服务将JQXGRID数据库中的数据发送到Bottle python

网格的JS代码如下:

var source =
       {
            datatype: "json",
            pagesize: 100,
            type: "POST",
            datafields:
            [
                { name: 'Rank', type: 'number' },
                { name: 'Title', type: 'string' },
                { name: 'Studio', type: 'string' },
                { name: 'Volume', type: 'Number' },
                { name: 'Price', type: 'number' },
                { name: 'Average', type: 'number' },
                { name: 'Category', type: 'string' },
                { name: 'Release Week', type: 'string' },

            ],
            url: "http://localhost:8080/titles"
       };


        var dataAdapter = new $.jqx.dataAdapter(source, 
            {
                formatData: function (data) {
                    $.extend(data, {
                        featureClass: "P",
                        style: "full",
                        maxRows: 50,
                             });
                    return data;
                }
            }
        );
        $("#topsharedtitles").jqxGrid(
        {
            source: dataAdapter,
            width: 960,
            rowdetails: false,
            selectionmode: 'multiplerowsextended',
            sortable: true,
            pageable: true,
            autoheight: true,
            autoloadstate: false,
            autosavestate: false,
            columnsresize: true,
            columnsreorder: true,
            showfilterrow: true,
            filterable: true,
            columnsheight: 50,
            columns: [
              { text: 'RK', datafield: 'Rank', width: 50, align: 'center', cellsalign: 'center' },
              { text: 'TITLE', datafield: 'Title', width: 300, align: 'center', cellsalign: 'left' },
              { text: 'RELEASE<br>WEEK', datafield: 'Release Week' , width: 90, align: 'center',cellsalign: 'center' },
              { text: 'STUDIO', datafield: 'Studio', width: 200, align: 'center', cellsalign: 'left' },
              { text: 'CATEGORY', datafield: 'Category', width: 80, align: 'center', cellsalign: 'center' },
              { text: 'UNITS<br>100%', datafield: 'Volume',  width: 80, align: 'center', cellsalign: 'center'  },
              { text: 'EURO<br>100%', datafield: 'Price',  width: 80, align: 'center', cellsalign: 'center'  },
              { text: 'AV PRICE', datafield: 'Average',  width: 80, align: 'center' , cellsalign: 'center' },

                                           ],
        });

当我使用GET请求时,这非常有效。但我真正需要的是能够使用POST方法执行此操作。 我知道数据到达服务器的事实很好。问题在于JavaScript无法解释它。 任何线索都会非常有用。

2 个答案:

答案 0 :(得分:1)

我认为 pagesize:100 不应该在源对象中。它被认为是网格设置的一部分。在下面的设置里面。

$("#jqxgrid").jqxGrid();

请从源对象中删除它,请检查您是否在浏览器控制台中收到任何错误。

答案 1 :(得分:0)

我建议您查看服务器代码并进行调试。它可能不会向客户端返回任何数据。同时删除formatdata定义,因为除非您的服务器检查featureClass,style等参数,否则不需要它。