发送 post 请求并在 jqgrid 中显示数据

sending post request and displaying data in jqgrid

伙计们,我在这里需要一些帮助,我正在将数据从 AJAX POST 发布到控制器,我正在控制器中获取所有参数,并从控制器返回列表。我想要的是在 jqgrid 中将列表显示为 table 但现在我没有在我的 jqgrid 中获取任何数据。成功后我调用 jqgrid 来显示数据,我相信我在那里做错了。以下是我的代码示例,我们将不胜感激任何帮助。看起来内容类型弄乱了我的 jqgrid。在 ajax 调用中我的内容类型为 false 因为我正在传递多部分文件但是从控制器我返回 json 字符串,如果我将内容类型或数据类型作为 json 在 ajax 调用然后我的多部分文件没有被发送到控制器。有人可以解释一下这个问题吗?

//posting data through ajax
function SubmitButtonOnclick() {
        var pParam = new FormData();
        pParam.append = ("file", $('input[type=file]')[0]).files[0]); //multipart file

        pParam.append("name", $("#name").val());
        pParam.append("country", $("#country").val());
       
        var url="";
        $.ajax({
            type: "POST",
            url: '/process/rdata',
            data: pParam,
            enctype: 'multipart/form-data',
            dataType: 'json',
            contentType: false,
            processData: false,
            success: function (response) {
            //display jq grid on sucess
               $("displayTable").jqGrid('setGridParam',     {url:url, page:1})
            },
            error: function (error) {
                alert("error here");
            }
        });
    }
    
    
    //this is is my jqgrid document on ready
    $(function() {
  $("#displayTable").jqGrid({
      datatype: 'json',
   mtype: 'POST',
      altrows:true,
      colNames:['Country percent', 'Visited','Name'],
      colModel:[
       {name:'countryper',index:'countryper', width:90, editable:false},
          {name:'visited',index:'visited', width:100, sortable:false, editable:true, editrules:{required:true}, editoptions:{size:10},formatter:returnEmailUserLink},
       {name:'name',index:'name', width:90, editable:true, editrules:{required:true}, editoptions:{size:10}},
       
      ],
      
   rowNum:100,
      pager: '#tablepager',
      viewrecords: true,
      multiselect: false,
      loadonce: true,
        jsonReader : {
          root: "rows",
          page: "page",
          total: "total",
          records: "records",
          repeatitems: false,
          cell: "",
         
      }
      loadComplete: function() {
       
  });

  $("#displayTable").jqGrid('navGrid','#tablepager',
    {edit:false, add:false, del:false, search:false},
    {}, {}, {}       
  );
  
  
});
<label>upload here to search</label>
<input type="file" id="file" name="file">
<input type="name" id="name" name="name">
<input type="country" id="country" name="country">


<!--for jqgrid-->
<div id="displayTable"></div>
<div id="tablepager"></div>


<!--my controller-->

public List<ModClass> returnData(){


return list;
}

成功函数中jqGrid设置参数url后需要触发grid重新加载数据

        success: function (response) {
        //display jq grid on sucess
           $("displayTable").jqGrid('setGridParam',{url:url, page:1}).trigger("reloadGrid");
        },