- Ajax介紹
- Axios
-
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Ajax-Axios</title> <script src="js/axios-0.18.0.js"></script> </head> <body> <input type="button" value="獲取數(shù)據(jù)GET" onclick="get()"> <input type="button" value="刪除數(shù)據(jù)POST" onclick="post()"> </body> <script> function get(){ //通過axios發(fā)送異步請求-get // axios({ // method: "get", // url: "http://yapi.smart-xwork.cn/mock/169327/emp/list" // }).then(result => { // console.log(result.data); // }) axios.get("http://yapi.smart-xwork.cn/mock/169327/emp/list").then(result => { console.log(result.data); }) } function post(){ //通過axios發(fā)送異步請求-post // axios({ // method: "post", // url: "http://yapi.smart-xwork.cn/mock/169327/emp/deleteById", // data: "id=1" // }).then(result => { // console.log(result.data); // }) // 這段代碼使用了axios庫向指定的URL發(fā)送POST請求, //并且?guī)в袇?shù)"id=1"。當(dāng)請求成功后,會打印出返回的數(shù)據(jù)。 //具體來說,代碼中的method表示請求的方法,url表示請求的地址, //data表示請求的參數(shù)。 //而then方法則是用來處理請求成功后的回調(diào)函數(shù),result就是請求成功返回的數(shù)據(jù)。 //需要注意的是,這段代碼中的URL是一個mock地址,實際開發(fā)中需要使用真實的API地址。 //result 是一個對象,其中 data 是異步請求返回的數(shù)據(jù) axios.post("http://yapi.smart-xwork.cn/mock/169327/emp/deleteById","id=1").then(result => { console.log(result.data); }) } </script> </html>
-
案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Ajax-Axios-案例</title> <script src="js/axios-0.18.0.js"></script> <script src="js/vue.js"></script> </head> <body> <div id="app"> <table border="1" cellspacing="0" width="60%"> <tr> <th>編號</th> <th>姓名</th> <th>圖像</th> <th>性別</th> <th>職位</th> <th>入職日期</th> <th>最后操作時間</th> </tr> <tr align="center" v-for="(emp,index) in emps"> <td>{{index + 1}}</td> <td>{{emp.name}}</td> <td> <img :src="emp.image" width="70px" height="50px"> </td> <td> <span v-if="emp.gender == 1">男</span> <span v-if="emp.gender == 2">女</span> </td> <td>{{emp.job}}</td> <td>{{emp.entrydate}}</td> <td>{{emp.updatetime}}</td> </tr> </table> </div> </body> <script> new Vue({ el: "#app", data: { emps:[] }, mounted () { //發(fā)送異步請求,加載數(shù)據(jù) axios.get("http://yapi.smart-xwork.cn/mock/169327/emp/list").then(result => { this.emps = result.data.data; console.log(result.data);//在控制臺輸出result的全部數(shù)據(jù) }) } }); </script> </html>
- 前后端分離
- 前端工程化
- 環(huán)境準備,nodejs安裝,D:\javaproject\javaweb\day03-Vue-Element\day03-Vue-Element\資料\NodeJS安裝文檔
- Vue項目簡介
-
- 它本來默認端口號是8080 ,但這就和tomcat沖突了所以修改為7000
-
- Vue項目開發(fā)流程
- 環(huán)境準備,nodejs安裝,D:\javaproject\javaweb\day03-Vue-Element\day03-Vue-Element\資料\NodeJS安裝文檔
- Vue組件庫Element
- pagination分頁組件,table表格組件,Dialog對話框組件,F(xiàn)orm表單組件等。查看官網(wǎng)
- vue頁面生成步驟,
- 因為在main.js這個入口文件中引用的是APP.vue這個根組件
- App.vue這個根組件引用的是<element-view>?</element-view>這個組件。
- 下面就是element
-
<template> <div> <!-- button按鈕 --> <el-row> <el-button>默認按鈕</el-button> <el-button type="primary">主要按鈕</el-button> <el-button type="success">成功按鈕</el-button> <el-button type="info">信息按鈕</el-button> <el-button type="warning">警告按鈕</el-button> <el-button type="danger">危險按鈕</el-button> </el-row> <br /> <!-- Table 表格 --> <el-table :data="tableData" border style="width: 100%"> <el-table-column prop="date" label="日期" width="180"> </el-table-column> <el-table-column prop="name" label="姓名" width="180"> </el-table-column> <el-table-column prop="address" label="地址"> </el-table-column> </el-table> <!-- Pagination 分頁 --> <el-pagination background layout="total,sizes, prev, pager, next, jumper" @size-change="handleSizeChange" @current-change="handleCurrentChange" :total="1000"></el-pagination> <br><br> <!-- Dialog對話框 --> <!-- Table --> <el-button type="text" @click="dialogTableVisible = true">打開嵌套表格的 Dialog</el-button> <el-dialog title="收貨地址" :visible.sync="dialogTableVisible"> <el-table :data="gridData"> <el-table-column property="date" label="日期" width="150"></el-table-column> <el-table-column property="name" label="姓名" width="200"></el-table-column> <el-table-column property="address" label="地址"></el-table-column> </el-table> </el-dialog> <!-- Dialog對話框-Form表單 --> <el-button type="text" @click="dialogFormVisible = true">打開嵌套Form的 Dialog</el-button> <el-dialog title="Form表單" :visible.sync="dialogFormVisible"> <el-form ref="form" :model="form" label-width="80px"> <el-form-item label="活動名稱"> <el-input v-model="form.name"></el-input> </el-form-item> <el-form-item label="活動區(qū)域"> <el-select v-model="form.region" placeholder="請選擇活動區(qū)域"> <el-option label="區(qū)域一" value="shanghai"></el-option> <el-option label="區(qū)域二" value="beijing"></el-option> </el-select> </el-form-item> <el-form-item label="活動時間"> <el-col :span="11"> <el-date-picker type="date" placeholder="選擇日期" v-model="form.date1" style="width: 100%;"></el-date-picker> </el-col> <el-col class="line" :span="2">-</el-col> <el-col :span="11"> <el-time-picker placeholder="選擇時間" v-model="form.date2" style="width: 100%;"></el-time-picker> </el-col> </el-form-item> <el-form-item> <el-button type="primary" @click="onSubmit">提交</el-button> <el-button>取消</el-button> </el-form-item> </el-form> </el-dialog> </div> </template> <script> export default { data() { return { form: { name: '', region: '', date1: '', date2: '' }, gridData: [{ date: '2016-05-02', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' }, { date: '2016-05-04', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' }, { date: '2016-05-01', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' }, { date: '2016-05-03', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' }], dialogTableVisible: false, dialogFormVisible: false, tableData: [ { date: "2016-05-02", name: "王小虎", address: "上海市普陀區(qū)金沙江路 1518 弄", }, { date: "2016-05-04", name: "王小虎", address: "上海市普陀區(qū)金沙江路 1517 弄", }, { date: "2016-05-01", name: "王小虎", address: "上海市普陀區(qū)金沙江路 1519 弄", }, { date: "2016-05-03", name: "王小虎", address: "上海市普陀區(qū)金沙江路 1516 弄", }, ], }; }, methods: { handleSizeChange:function(val){ alert("每頁記錄數(shù)變化" + val) }, handleCurrentChange:function(val){ alert("頁碼發(fā)生變化" + val) }, onSubmit:function(){ alert(JSON.stringify(this.form)); } } }; </script> <style> </style>
一些重要組件的使用
- Vue路由
- router,配置路由
- 什么位置點擊跳轉(zhuǎn)
- App.vue配置
- router,配置路由
- 打包部署
- 打包,npm run build后會出現(xiàn)一個dist目錄
- netstat -ano | findStr 80(尋找那個進程占用了80端口pid),如果發(fā)現(xiàn)那個進程是系統(tǒng)進程,那我們就把Nginx端口號改了,在conf配置文件中的nginx.conf文件中將listen 改成90。
?文章來源地址http://www.zghlxwxcb.cn/news/detail-450048.html
?文章來源:http://www.zghlxwxcb.cn/news/detail-450048.html
?
到了這里,關(guān)于Ajax,前后端分離開發(fā),前端工程化,Element,Vue路由,打包部署的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!