title: How to process server side parameter sent from jquery datatables using Flask?
body: <p>I am having some issues in processing the parameters sent by jquery datatables 1.10 when server side processing is enabled. I initialized the datatable in the javascript side like this:</p>
  <pre><code>var table = $('#mytable').DataTable( {
                  &quot;processing&quot;: true,
                  &quot;serverSide&quot;: true,
                  &quot;ajax&quot;: {
                      'url': url,
                      'type': 'POST'
                  },
                  &quot;columns&quot;: data
              } );
  </code></pre>
  <p>And receive the POST request in the Flask based server using this:</p>
  <pre><code>@app.route('/data/&lt;data_key&gt;', methods=['POST'])
  def get_data(data_key):
      print request.form
  
      # do some processing here in order to filter data
      # ...
  
      return Response(json.dumps(data), status=200, mimetype='application/json')
  </code></pre>
  <p>In order to filter the data I tried to look inside request.form but the result is weird and can't be transformed easily to an array of objects. I get somthing like this:</p>
  <pre><code>ImmutableMultiDict(
  [
  ('columns[0][data]', u'ReportDate'), 
  ('draw', u'1'),
  ('columns[1][name]', u''), 
  ('columns[1][data]', u'FundName'),
  ('columns[0][orderable]', u'true'), 
  ('columns[1][searchable]', u'true'), 
  ('columns[1][orderable]', u'true'), 
  ('order[0][column]', u'0'), 
  ('columns[0][name]', u''), 
  ('order[0][dir]', u'asc'), 
  ('search[value]', u''), 
  ('columns[1][search][regex]', u'false'), 
  ('columns[0][search][value]', u''), 
  ('search[regex]', u'false'), 
  ('columns[1][search][value]', u''), 
  ('columns[0][search][regex]', u'false'), 
  ('start', u'0'), 
  ('length', u'10'), 
  ('columns[0][searchable]', u'true')
  ]
  )
  </code></pre>
  <p>In the jquery datatables documentation they say:</p>
  <blockquote>
  <p>The order[i] and columns[i] parameters that are sent to the server are arrays of information:</p>
  <p>order[i] - is an array defining how many columns are being ordered upon - i.e. if the array length is 1, then a single column sort is being performed, otherwise a multi-column sort is being performed.</p>
  <p>columns[i] - an array defining all columns in the table.</p>
  <p>In both cases, i is an integer which will change to indicate the array value. In most modern server-side scripting environments this data will automatically be available to you as an array.</p>
  </blockquote>
  <p>However, Flask provide this data as a simple dictionary, is there a way to transform it to an array of objects easily?</p>