表單提交返回json 彈出下載框
前臺表單提交完了以後想返回json資料,但卻變成下載框了,網上查了一下基本上都是改SpringMVC 中改配置檔案text/html。但是專案做到一半,改了配置檔案以後很多地方怕會有問題,今天想到了一個很好的解決方案。(這種方式的好處在於不用前臺傳值,javabean中的get方法還是可以直接獲取值)
之前的程式碼可以不用變,直接前臺改ajax提交
var data=$('#queryCountForm').serialize();//獲取表單資料
var json=formToJson(data);//轉化為json物件
// json.page="中溫";//如果需要另外的引數就以這種格式寫,後臺直接request可以獲取
$.ajax({
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 + ")");
}
問題解決。