最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring MVC前端與后端5種ajax交互方法【總結(jié)】

 更新時間:2017年03月05日 12:43:36   投稿:jingxian  
下面小編就為大家?guī)硪黄猄pring MVC前端與后端5種ajax交互方法【總結(jié)】。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

前端ajax與后端Spring MVC控制器有以下五種數(shù)據(jù)交互方式。(前臺使用了dhtmlxGrid,后端使用了fastjson)

方式一 通過URL傳參

通過URL掛接參數(shù),如/auth/getUser?userid='6'

服務(wù)器端方法可編寫為:getUser(String userid),也可新增其他參數(shù)如HttpSession, HttpServletRequest,HttpServletResponse,Mode,ModelAndView等。

方式二 單值傳參

前臺調(diào)用如:

ajaxPost("/base/user/exchangeSort",{"id":rid,"otherid":otherid},function(data,status){

xxxxxx

xxxxxx

});

服務(wù)器端為:

public String exchangeSort(String id, String otherid)

方式三 對象傳參

前臺調(diào)用如:

var org={id:id};

ajaxPost("/base/org/getOrgById", org,function(data,textStatus){

xxxx

xxxx

});

服務(wù)器端為:

public Org getOrgById(Org org)

方式四 對象序列化傳參

前臺調(diào)用如:

var ueser={id:rowId};

var data=ajaxPost("/base/user/findById",{"userObj":JSON.stringify(user)},null);

或者

var ueser={ };//創(chuàng)建對象

user["id"]=id;

user["name"]=$("#name").val();

user["dept"]={};//外鍵對象

user["dept"]["id"]=$("#deptid").val();

ajaxPost("/base/user/addUser",{"userObj":JSON.stringify(user)},function(data){xxxx;xxxxx;});

服務(wù)器端為:

@RequestMapping("/findById")

@ResponseBody

public UserInfo findById(String userObj) {

//使用fastJSON

UserInfo user = JSON.parseObject(userObj, UserInfo.class);

user = (UserInfo) userService.findById(UserInfo.class, user.getId());

return user;

}

方式五 列表傳參

前臺代碼如:

var objList = new Array();

grid.forEachRow(function(rId) {

var index = grid.getRowIndex(rId);

var obj = {};

obj["id"] = rId;

obj["user"] = {};

obj["user"]["id"] = $("#userId").val();

//不推薦這樣的寫法

//obj["kinShip"] = grid.cells(rId, 1).getValue();

//obj["name"] = grid.cells(rId, 2).getValue();

obj["kinShip"]=grid.cells(rId,grid. getColIndexById ("columnName")).getValue();

obj["name"]=grid.cells(rId,grid.getColIndexById("name")).getValue();

if(grid.cells(rId, 3).getValue()!=null && grid.cells(rId, 3).getValue()!="") {

var str = grid.cells(rId, 3).getValue().split("-");

var day = parseFloat(str[2]);

var month = parseFloat(str[1])-1;

var year = parseInt(str[0]);

var date=new Date();

date.setFullYear(year, month, day);

obj["birth"] = date;

}else {

obj["birth"] ="";

}

obj["politicalStatus"] = grid.cells(rId, 4).getValue();

obj["workUnit"] = grid.cells(rId, 5).getValue();

if (grid.cells(rId, 6).isChecked())

obj["isContact"] ="1";

else

obj["isContact"] ="0";

obj["phone"] = grid.cells(rId, 7).getValue();

obj["remark"] = grid.cells(rId, 8).getValue();

obj["sort"] = index;

objList.push(obj);

});


ajaxPost("/base/user/addUpdateUserHomeList", {

"userHomeList" : JSON.stringify(objList),

"userId" : $("#userId").val()

},function(data, status) {

xxxxx

});

服務(wù)器端:

@RequestMapping("/addUpdateUserHomeList")

@ResponseBody

public String addUpdateUserHomeList(String userHomeList, String userId) {

List userHomes = JSON

.parseArray(userHomeList, UserHome.class);//fastJSON

if (userHomes != null && userHomes.size() > 0) {

try {

userService.addUpdateUserHomeList(userHomes, userId);

} catch (Exception e) {

e.printStackTrace();

}

}

return "200";

}

附上ajaxPost代碼:

function ajaxPost(url,dataParam,callback){ 

var retData=null; 

$.ajax({ 

type: "post", 

url: url, 

data: dataParam, 

dataType: "json", 

success: function (data,status) { 

// alert(data); 

retData=data; 

if(callback!=null&&callback!=""&&callback!=undefined) 

callback(data,status); 

}, 

error: function (err,err1,err2) { 

alertMsg.error("調(diào)用方法發(fā)生異常:"+JSON.stringify(err)+"err1"+ JSON.stringify(err1)+"err2:"+JSON.stringify(err2)); 

} 

}); 

return retData; 

}

以上這篇Spring MVC前端與后端5種ajax交互方法【總結(jié)】就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • ajax響應(yīng)json字符串和json數(shù)組的實例(詳解)

    ajax響應(yīng)json字符串和json數(shù)組的實例(詳解)

    下面小編就為大家?guī)硪黄猘jax響應(yīng)json字符串和json數(shù)組的實例(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • 淺析Ajax的 原理及優(yōu)缺點

    淺析Ajax的 原理及優(yōu)缺點

    本文從ajax技術(shù)的背景、原理、ajax的名字,ajax所包含的技術(shù)等方面展開話題,介紹ajax的原理及優(yōu)缺點。本文關(guān)于ajax的原理及優(yōu)缺點介紹的非常詳細(xì),具有參考借鑒價值,感興趣的小伙伴一起學(xué)習(xí)吧
    2016-04-04
  • 關(guān)于二次封裝jquery ajax辦法示例詳解

    關(guān)于二次封裝jquery ajax辦法示例詳解

    Ajax 的全稱是Asynchronous JavaScript and XML 異步的javaScript和XML,下面這篇文章主要給大家介紹了關(guān)于二次封裝jquery ajax辦法示例,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面來一起看看吧。
    2017-07-07
  • Ajax跨域查詢完美解決通過$.getJSON()實現(xiàn)

    Ajax跨域查詢完美解決通過$.getJSON()實現(xiàn)

    瀏覽器安全上做了限制,禁止ajax跨域獲得數(shù)據(jù),可以通過jquery提供的$.getJSON()可以跨域獲得JSON格式的數(shù)據(jù),具體的實現(xiàn)如下,感興趣的朋友可以參考下哈,希望對大家有所幫助
    2013-06-06
  • 原生ajax瀑布流demo分享(必看篇)

    原生ajax瀑布流demo分享(必看篇)

    下面小編就為大家?guī)硪黄鷄jax瀑布流demo分享(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • 編碼為GB2312網(wǎng)站讓AJAX接收的數(shù)據(jù)顯示支持中文

    編碼為GB2312網(wǎng)站讓AJAX接收的數(shù)據(jù)顯示支持中文

    GB2312 網(wǎng)站AJAX接收的數(shù)據(jù)顯示支持中文
    2010-01-01
  • JQuery ajax 返回json時出現(xiàn)中文亂碼該如何解決

    JQuery ajax 返回json時出現(xiàn)中文亂碼該如何解決

    最近有朋友反映使用jquery.ajax調(diào)用返回json時出現(xiàn)中文亂碼,遇到此問題,非常棘手,下面小編幫大家解決JQuery ajax 返回json時出現(xiàn)中文亂碼問題,感興趣的朋友跟著一起了解了解吧
    2015-09-09
  • 使用對象封裝ajax重復(fù)調(diào)用的方法

    使用對象封裝ajax重復(fù)調(diào)用的方法

    在項目中經(jīng)常用到AJAX調(diào)用遠(yuǎn)程數(shù)據(jù),每一次調(diào)用,都得寫一個ajax方法,這就造成了重復(fù)代碼過多,可讀性也不夠強(qiáng),所以,我一般都是封裝起來,需要的時候調(diào)用
    2016-01-01
  • 自己動手封裝的 ajax

    自己動手封裝的 ajax

    過完年后項目開發(fā)比較緊張,好長時間沒寫文章了。好在項目進(jìn)入測試實施后期,可以有時間總結(jié)一些自己最近項目的心得了。自從提出WEB2.0富客戶以后AJAX技術(shù)現(xiàn)在是越來越流行,有待代替CS桌面程序之勢。
    2009-07-07
  • Django框架利用ajax實現(xiàn)批量導(dǎo)入數(shù)據(jù)功能

    Django框架利用ajax實現(xiàn)批量導(dǎo)入數(shù)據(jù)功能

    這篇文章主要介紹了Django框架利用ajax實現(xiàn)批量導(dǎo)入數(shù)據(jù)功能的相關(guān)資料,需要的朋友可以參考下
    2016-03-03

最新評論

沭阳县| 龙井市| 怀宁县| 西贡区| 乌拉特中旗| 栾川县| 九龙坡区| 武威市| 且末县| 沙田区| 万源市| 田东县| 崇阳县| 兰溪市| 昌图县| 肥东县| 玉田县| 蓝山县| 苏州市| 垣曲县| 长顺县| 罗江县| 铜川市| 丰城市| 柏乡县| 叙永县| 宁阳县| 疏勒县| 新干县| 辽宁省| 黔西县| 吉安市| 淅川县| 陇西县| 阜南县| 恭城| 始兴县| 阿拉善右旗| 株洲县| 冀州市| 上高县|