1. 程式人生 > >表單提交返回json 彈出下載框

表單提交返回json 彈出下載框

        前臺表單提交完了以後想返回json資料,但卻變成下載框了,網上查了一下基本上都是改SpringMVC 中改配置檔案text/html。但是專案做到一半,改了配置檔案以後很多地方怕會有問題,今天想到了一個很好的解決方案。(這種方式的好處在於不用前臺傳值,javabean中的get方法還是可以直接獲取值)

      之前的程式碼可以不用變,直接前臺改ajax提交

       var data=$('#queryCountForm').serialize();//獲取表單資料
       var json=formToJson(data);//轉化為json物件
       // json.page="中溫";//如果需要另外的引數就以這種格式寫,後臺直接request可以獲取
      $.ajax({
           

url:basePath+"sysman/queryInfo",
           dataType:"json",
           data:json,//提交以後在bean中會自動set值   直接get就可以獲取值了
           type:'post',
           success:function(json){
                if(json.total>0){
                      searchResultDataGrid(json);
               }
        }


/**
 * form資料轉json物件
 * 將從form中通過$('#form').serialize()獲取的值轉成json物件
 * @param {} data
 * @return {}
 */
function formToJson(data){
     data = decodeURIComponent(data,true);//防止中文亂碼
     data=data.replace(/&/g,"\",\"");
     data=data.replace(/=/g,"\":\"");
      data="{\""+data+"\"}";
     return eval("(" + data + ")");

問題解決。