Springmvc和ajax如何實(shí)現(xiàn)前后端交互
springmvc使用@RequestBody來獲取前端的json字符串并轉(zhuǎn)化為java對(duì)象
使用@ReponseBody來將返回的java對(duì)象轉(zhuǎn)換為json形式返回前端
下面是幾個(gè)使用springmvc和ajax進(jìn)行前后端交互的簡(jiǎn)單實(shí)例
1.傳遞簡(jiǎn)單對(duì)象:
前端:
$(function(){ $("#btn3").click(function(){ //準(zhǔn)備好要發(fā)的數(shù)組 var array=[16,18,56]; var jsonArray=JSON.stringify(array); $.ajax({ "url":"send/three/array.html", "type":"post", "data":jsonArray, "dataType":"text", "contentType":"application/json;charset=UTF-8", "success":function (response) { alert(response); }, "error":function (response) { alert(response); } } ); }); });
后端:
@ResponseBody @RequestMapping("/send/three/array.html") public String testReceiveArrayThreee(@RequestBody List<Integer> array){ for (int i : array) { System.out.println(i); } return "success"; }
結(jié)果:
2.傳遞復(fù)雜對(duì)象:
1.實(shí)體類:
public class Student { private Integer stuId; private String studentName; private Address address; private List<Subject> subjectList; private Map<String,String> map; get和set方法省略 } public class Subject { private String subjectName; private Integer subjectScore;} public class Address { private String province; private String city; private String street;}
2.前端ajax:
$(function(){ $("#btn4").click(function(){ //準(zhǔn)備要發(fā)送的數(shù)據(jù) var student={ "stuId":5, "studentName":"tom", "address":{ "province":"海南省", "city":"海南市", "street":"不知道" }, "subjectList":[ { "subjectName":"test", "subjectScore":60 }, { "subjectName":"ssm", "subjectScore":70 } ], "map":{ "k1":"v2", "k2":"v3", "k3":"v4" } }; //json對(duì)象轉(zhuǎn)化為json字符串 var requestBody=JSON.stringify(student); $.ajax({ "url":"send/compose/object.json", "type":"post", "data":requestBody, "contentType":"application/json;charset=UTF-8", "dataType":"json", "success":function (response) { console.log(response); }, "error":function (response) { console.log(response); } } ); }); });
后端:
@ResponseBody @RequestMapping("/send/compose/object.html") public String testComposeObject(@RequestBody Student student){ System.out.println(student.toString()); return "success"; }
結(jié)果:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring?cloud?OpenFeign中動(dòng)態(tài)URl、動(dòng)態(tài)傳遞接口地址代碼示例
openFeign是作為微服務(wù)之間調(diào)用的解決方案,每個(gè)微服務(wù)項(xiàng)目是必不可少的,下面這篇文章主要給大家介紹了關(guān)于Spring?cloud?OpenFeign中動(dòng)態(tài)URl、動(dòng)態(tài)傳遞接口地址的相關(guān)資料,需要的朋友可以參考下2024-02-02Java程序初始化啟動(dòng)自動(dòng)執(zhí)行的三種方式
這篇文章主要介紹了Java程序初始化啟動(dòng)自動(dòng)執(zhí)行的三種方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01SpringBoot與單元測(cè)試JUnit的結(jié)合操作
這篇文章主要介紹了SpringBoot與單元測(cè)試JUnit的結(jié)合操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10Java中Lambda表達(dá)式和函數(shù)式接口的使用和特性
Java Lambda表達(dá)式是一種函數(shù)式編程的特性,可簡(jiǎn)化匿名內(nèi)部類的寫法,與函數(shù)式接口搭配使用,實(shí)現(xiàn)代碼簡(jiǎn)潔、可讀性高、易于維護(hù)的特點(diǎn),適用于集合操作、多線程編程等場(chǎng)景2023-04-04