title: How to pass csrf_token to the post params of editurl of jqgrid?
body: <p>I'm using JqGrid with Django framework. That's JS:</p>
  
  <pre><code>      jQuery("#list").jqGrid({
          url:'{% url views.manage.devicesajax %}',
          datatype: 'json',
          mtype: 'GET',
          colNames:['DID', 'UDID', 'Owner', 'Name', 'First seen', 'Last seen'],
          colModel :[ 
            {name:'did', index:'did', width: 30, searchoptions:{sopt:['eq','ne','bw','cn']}}, 
            {name:'udid', index:'udid', width: 120, editable: true, searchoptions:{sopt:['eq','ne','bw','cn']}}, 
            {name:'d_owner', index:'d_owner', width: 70, editable: true, searchoptions:{sopt:['eq','ne','bw','cn']}}, 
            {name:'d_name', index:'d_name', editable: true, searchoptions:{sopt:['eq','ne','bw','cn']}}, 
            {name:'d_firstseen', index:'d_firstseen', width: 80}, 
            {name:'d_lastseen', index:'d_lastseen', width: 80}],
          pager: jQuery('#pager'),
          rowNum:20,
          rowList:[20,50,100],
          sortname: 'did',
          sortorder: "desc",
          multiselect: true,
          viewrecords: true,
          imgpath: 'themes/basic/images',
          caption: 'Devices list',
          height: 330,
          width: 1000,
          onSelectRow: function(id) {
              var id = $("#list").getRowData(id).message_id;
              message_id = id;
          },
          editurl: "{% url views.manage.deviceseditajax %}"
      });
  </code></pre>
  
  <p>When I do edit row in JqGrid I get error from editurl:</p>
  
  <blockquote>
    <p>Forbidden (403)
    CSRF verification failed. Request aborted.</p>
  </blockquote>
  
  <p>It's because csrf_token doesn't pass to editurl with the other data.
  How to add csrf_token to the POST request to editurl ?</p>
  
  <p>This code works perfectly ( complete piece of jqgrid init ):</p>
  
  <pre><code>     jQuery("#list").jqGrid({
          url:'{% url views.manage.devicesajax %}',
          datatype: 'json',
          mtype: 'GET',
          colNames:['DID', 'UDID', 'Owner', 'Name', 'First seen', 'Last seen'],
          colModel :[ 
            {name:'did', index:'did', width: 30, searchoptions:{sopt:['eq','ne','bw','cn']}}, 
            {name:'udid', index:'udid', width: 120, editable: true, searchoptions:{sopt:['eq','ne','bw','cn']}}, 
            {name:'d_owner', index:'d_owner', width: 70, editable: true, searchoptions:{sopt:['eq','ne','bw','cn']}}, 
            {name:'d_name', index:'d_name', editable: true, searchoptions:{sopt:['eq','ne','bw','cn']}}, 
            {name:'d_firstseen', index:'d_firstseen', width: 80}, 
            {name:'d_lastseen', index:'d_lastseen', width: 80}],
          pager: jQuery('#pager'),
          rowNum:20,
          rowList:[20,50,100],
          sortname: 'did',
          sortorder: "desc",
          multiselect: true,
          viewrecords: true,
          imgpath: 'themes/basic/images',
          caption: 'Devices list',
          height: 330,
          width: 1000,
          editurl: "{% url views.manage.deviceseditajax %}",
      });
  
        jQuery("#list").navGrid('#pager',{edit:true,add:true,del:true,search:true},
          {
              closeAfterEdit:true,
              reloadAfterSubmit:true,
              closeOnEscape:true,
              editData: {csrfmiddlewaretoken: '{{ csrf_token }}'}
          },
          {
              closeAfterAdd:true,
              reloadAfterSubmit:true,
              closeOnEscape:true,
              editData: {csrfmiddlewaretoken: '{{ csrf_token }}'}
          }, 
          {
              closeOnEscape:true,
              delData: {csrfmiddlewaretoken: '{{ csrf_token }}'}
          }, 
          {
           caption: "Search",
           Find: "Find",
           Reset: "Reset",
           sopt  : ['eq', 'cn'],
           matchText: " match",
           rulesText: " rules",
           closeAfterSearch: true,
           afterShowSearch: function ()
           {
               $('#reset_filter1_block').show();
           }
         }
        );
  </code></pre>