Springmvc和ajax如何實(shí)現(xiàn)前后端交互
springmvc使用@RequestBody來(lái)獲取前端的json字符串并轉(zhuǎn)化為java對(duì)象
使用@ReponseBody來(lái)將返回的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)文章
Windows下Java調(diào)用OCR進(jìn)行圖片識(shí)別
這篇文章主要為大家詳細(xì)介紹了Windows下Java調(diào)用OCR進(jìn)行圖片識(shí)別,通過(guò)Tesseract-OCR對(duì)圖片進(jìn)行識(shí)別,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12
Spring MVC學(xué)習(xí)筆記之json格式的輸入和輸出
本篇文章主要介紹了Spring MVC學(xué)習(xí)筆記之json格式的輸入和輸出,這里整理了詳細(xì)的代碼,有需要的小伙伴可以參考下。2017-03-03
BeanUtils.copyProperties復(fù)制屬性失敗的原因及解決方案
這篇文章主要介紹了BeanUtils.copyProperties復(fù)制屬性失敗的原因及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
springboot集成mybatis-maven插件自動(dòng)生成pojo的詳細(xì)教程
這篇文章主要介紹了springboot集成mybatis-maven插件自動(dòng)生成pojo的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
java怎樣動(dòng)態(tài)獲取泛型參數(shù)的類型
在Java中,泛型信息在編譯時(shí)會(huì)被擦除,但可以通過(guò)特定API獲取運(yùn)行時(shí)的泛型參數(shù)類型,主要API包括Class的getGenericSuperclass()和getGenericInterfaces()方法,以及ParameterizedType的getActualTypeArguments()方法2024-09-09
SpringMVC對(duì)日期類型的轉(zhuǎn)換示例
本篇文章主要介紹了SpringMVC對(duì)日期類型的轉(zhuǎn)換示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
Tomcat Cannot assign requested address: JVM_Bind 非端口占用沖突
這篇文章主要介紹了 Tomcat Cannot assign requested address: JVM_Bind 非端口占用沖突的相關(guān)資料,需要的朋友可以參考下2017-01-01
Java通過(guò)動(dòng)態(tài)代理實(shí)現(xiàn)一個(gè)簡(jiǎn)單的攔截器操作
這篇文章主要介紹了Java通過(guò)動(dòng)態(tài)代理實(shí)現(xiàn)一個(gè)簡(jiǎn)單的攔截器操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07

