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

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

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

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

方式一 通過URL傳參

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

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

方式二 單值傳參

前臺(tái)調(diào)用如:

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

xxxxxx

xxxxxx

});

服務(wù)器端為:

public String exchangeSort(String id, String otherid)

方式三 對(duì)象傳參

前臺(tái)調(diào)用如:

var org={id:id};

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

xxxx

xxxx

});

服務(wù)器端為:

public Org getOrgById(Org org)

方式四 對(duì)象序列化傳參

前臺(tái)調(diào)用如:

var ueser={id:rowId};

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

或者

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

user["id"]=id;

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

user["dept"]={};//外鍵對(duì)象

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;

}

方式五 列表傳參

前臺(tái)代碼如:

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é)】就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

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

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

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

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

    本文從ajax技術(shù)的背景、原理、ajax的名字,ajax所包含的技術(shù)等方面展開話題,介紹ajax的原理及優(yōu)缺點(diǎn)。本文關(guān)于ajax的原理及優(yōu)缺點(diǎn)介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的小伙伴一起學(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()實(shí)現(xiàn)

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

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

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

    下面小編就為大家?guī)硪黄鷄jax瀑布流demo分享(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    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時(shí)出現(xiàn)中文亂碼該如何解決

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

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

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

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

    自己動(dòng)手封裝的 ajax

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

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

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

最新評(píng)論

江孜县| 龙泉市| 女性| 丰城市| 武隆县| 高州市| 龙岩市| 通山县| 湘潭市| 云阳县| 巩义市| 象州县| 绥宁县| 天等县| 普兰店市| 吉木萨尔县| 昌邑市| 五河县| 额敏县| 易门县| 沅江市| 正宁县| 仁寿县| 崇礼县| 云南省| 南丰县| 阿坝| 尼木县| 西青区| 漳浦县| 斗六市| 蒙城县| 淮阳县| 柯坪县| 盐山县| 彭州市| 民勤县| 阜阳市| 大姚县| 伊春市| 元谋县|