前端如何調(diào)用后端接口進行數(shù)據(jù)交互詳解(axios和SpringBoot)
前端調(diào)用后端接口,獲得數(shù)據(jù)并渲染
一、介紹
一個完善的系統(tǒng),前后端交互是必不可少的,這個過程可以分成下面幾步:
前端向后端發(fā)起請求后端接口接收前端的參數(shù)后,開始層層調(diào)用方法處理數(shù)據(jù)后端將最終數(shù)據(jù)返回給前端接口前端請求成功后,將數(shù)據(jù)渲染至界面
對于初學(xué)者而言,前后端交互感覺十分困難,其實并不難,現(xiàn)在,我們做一個小例子,在例子中,大家就明白了。
二、項目結(jié)構(gòu)
前端技術(shù):axios
后端技術(shù):SpringBoot(這個也無所謂,但是你一定要有控制層的訪問路徑,也就是所謂的請求地址對應(yīng)的方法,可以用SSM框架,SSH框架,都可以)

上面是大致的文件結(jié)構(gòu),相信大家后端的數(shù)據(jù)處理都沒問題,無非就是:
- 控制層接收前端請求,調(diào)用對應(yīng)的業(yè)務(wù)層接口方法
- 業(yè)務(wù)層實現(xiàn)類去實現(xiàn)業(yè)務(wù)層接口
- 業(yè)務(wù)層實現(xiàn)類的方法內(nèi)調(diào)用數(shù)據(jù)層的接口
- 數(shù)據(jù)層實現(xiàn)文件(mapper.xml)實現(xiàn)數(shù)據(jù)層接口
- 然后處理結(jié)果層層返回
三、代碼編寫
我們只介紹前端界面+控制層,首先是前端界面
第一步:引入相關(guān)文件

這里的axios就是我們發(fā)起請求所必備的文件,這些文件在文章末尾會有給出。
前端代碼如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>測試</title>
<script src="../static/js/jquery.min.js"></script>
<script src="../static/js/axios.min.js"></script>
</head>
<body>
<span id="text">我是前端默認值</span>
<script>
window.onload =function() { //一加載界面就調(diào)用
$.ajax({url:"testTest?num=1",success:function(result){
document.getElementById("text").innerHTML=result;
}});
};
</script>
</body>
</html>后端控制層代碼如下:
@RequestMapping("/testTest") //控制層
@ResponseBody
public int testTest(int num) {
if(num==1) return 1;
if(num==2) return 2;
return 0;
}
很明顯,大家看看應(yīng)該就明白了,前端發(fā)請求時可以攜帶數(shù)據(jù),比如賬號、密碼啊等等,后端接收后,就可以處理啦,然后把處理結(jié)果返回給前端,
前端接收后,就可以渲染了,或者給出操作成功的提示。
效果:

四、運用
1、字符串、整形等(新增功能)
前端代碼:
<el-dialog title="創(chuàng)建車輛裝備" :visible.sync="insertVisible" width="30%">
<el-form :model="equipment" ref="equipment" label-width="100px" class="demo-ruleForm">
<el-form-item label="名稱" prop="name">
<el-input v-model="equipment.name"></el-input>
</el-form-item>
<el-form-item label="類型" prop="type">
<el-input v-model="equipment.type"></el-input>
</el-form-item>
<el-form-item label="庫存數(shù)量" prop="inventory">
<el-input type="number" v-model="equipment.inventory"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="insertVisible = false">取 消</el-button>
<el-button type="primary" @click="insertEquipment" data-toggle="modal" data-target="#myModal">確 定</el-button>
</span>
</el-dialog>
<script type="text/javascript">
new Vue({
el:"#box",
data:{
id:"", //裝備主鍵
equipment:{}, //一條equipment數(shù)據(jù)
insertVisible:false //新增提示框控制器:true顯示/false隱藏
},
methods:{
//打開新增提示框
openInsertPanel:function(){
this.insertVisible = true;
this.equipment = {};
},
//創(chuàng)建equipment
insertEquipment:function(){
var name = this.equipment.name;
var type = this.equipment.type;
var inventory = this.equipment.inventory;
var that = this;
axios.put("insertEquipment?name="+name+"&type="+type+"&inventory="+inventory).then(function(result){
if(result.data.status){
that.selectAllEquipment();
that.insertVisible = false;
}else{
that.$message.error(result.data.message);
that.insertVisible = false;
}
});
},
}
});
</script>
后端代碼
@RequestMapping("/insertEquipment") //增加裝備
@ResponseBody
public ResultMap insertEquipment(String name, String type,String inventory) {
try {
int realInventory=Integer.valueOf(inventory);
Equipment equipment=new Equipment(name,type,realInventory);
equipmentService.insertEquipment(equipment);
resultMap.setStatus(true);
} catch (Exception e) {
resultMap.setStatus(false);
resultMap.setMessage(e.getMessage());
}
return resultMap;
}
以上就是新增功能的運用
例子很簡單,但是用處很大,登錄校驗、數(shù)據(jù)展示、增刪改查都是這種流程,后端返回的數(shù)據(jù)類型不僅僅是Int,List和對象都是可以的。
下面給出文件地址,大家需要的自己下載:
jquery.min.js: jquery.min.js
axios.min.js: axios.min.js
總結(jié)
到此這篇關(guān)于前端如何調(diào)用后端接口進行數(shù)據(jù)交互(axios和SpringBoot)的文章就介紹到這了,更多相關(guān)前端調(diào)用后端接口數(shù)據(jù)交互內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mybatis 如何返回list<String>類型數(shù)據(jù)
這篇文章主要介紹了mybatis 如何返回list<String>類型數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10
詳解maven的setting配置文件中mirror和repository的區(qū)別
這篇文章主要介紹了詳解maven的setting配置文件中mirror和repository的區(qū)別,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12
Java實現(xiàn)調(diào)用第三方相關(guān)接口
最近在做一個項目,需要調(diào)用第三方接口,本文主要介紹了Java實現(xiàn)調(diào)用第三方相關(guān)接口,具有一定的參考價值,感興趣的可以了解一下2023-09-09
Java使用cxf發(fā)布及調(diào)用webservice接口的方法詳解
今天小編就為大家分享一篇關(guān)于Java使用CXF發(fā)布及調(diào)用WebService接口的方法,文中通過代碼示例給大家介紹的非常詳細,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2023-08-08
Spring中DAO被循環(huán)調(diào)用的時候數(shù)據(jù)不實時更新的解決方法
這篇文章主要介紹了Spring中DAO被循環(huán)調(diào)用的時候數(shù)據(jù)不實時更新的解決方法,需要的朋友可以參考下2014-08-08
基于Java實現(xiàn)計數(shù)排序,桶排序和基數(shù)排序
這篇文章主要為大家詳細介紹了計數(shù)排序,桶排序和基數(shù)排序的多種語言的實現(xiàn)(JavaScript、Python、Go語言、Java),感興趣的小伙伴可以了解一下2022-12-12

