axios的数据请求方式及跨域
express 的三大功能:靜態(tài)資源、路由、模板引擎
app.use(express.static('www')); 只要是創(chuàng)建這個(gè)靜態(tài)的目錄,這個(gè) www 的靜態(tài)目錄里面的文件就可以被訪問
數(shù)據(jù)的請(qǐng)求方式 axios
get 的 請(qǐng)求方式?
axios.get('url地址').then(function(success){ // 請(qǐng)求成功的回調(diào)函數(shù)
console.log(success)
}).catch(function(error){ // 請(qǐng)求失敗的回調(diào)函數(shù)
console.log(error)
})
post 的方式請(qǐng)求則與 get 的方式類似
在 vue-cli 中,使用 axios 時(shí),遇到跨域問題怎么辦? 使用 proxyTable 服務(wù)代理來進(jìn)行處理
我們可以在 config 的文件中的 index.js 的配置文件中
代碼如下
module.exports = {
dev: {
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable:{
'/api':{
target:'http://localhost:3000/', // 當(dāng)你要請(qǐng)求什么地址,這里改成什么地址即可
changeOrigin:true,
pathRewrite:{
'^/api':''
}
}
}
}
}
在 vue-cli3 中 我們需要通過 vue.config.js 文件來寫以上代碼,之后重啟服務(wù)器即可
然后我們?cè)谑褂?axios 的時(shí)候,處理跨域的寫法
這樣我們便可以拿到后臺(tái)的數(shù)據(jù)了
還有,當(dāng)我們通過 axios 來拿到后臺(tái)的數(shù)據(jù),我們?cè)诮M件中的書寫位置,以及在頁面中的表現(xiàn)形式
我們的請(qǐng)求數(shù)據(jù)是在 created(){} 中完成的 當(dāng)我們?cè)?created 中完成 axios 的請(qǐng)求操作,我們還需要在 data 中 定義一個(gè)變量 去 等于我們的 請(qǐng)求到的數(shù)據(jù)
之后,我們就可以在頁面中去使用 data 的變量了,這個(gè)變量就是我們請(qǐng)求到的數(shù)據(jù)了,但是注意:如果我們需要操作請(qǐng)求到的數(shù)據(jù),我們只能在 updated(){}
函數(shù)中完成,一定不允許在 mounted(){} 函數(shù)中 完成 操作,
原因:
ajax 是異步操作,而生命周期是同步操作,也就是說,我們請(qǐng)求完數(shù)據(jù),說不定生命周期的一系列操作都都完了,其中包括了 mounted(){} 函數(shù)
但是,我們?cè)谡?qǐng)求完數(shù)據(jù)后,一定會(huì)使用 data 對(duì)象中的屬性? =? 我們請(qǐng)求到的數(shù)據(jù),來方便我們的操作,這就是一個(gè)數(shù)據(jù)改變的過程,所以,vue
就會(huì)執(zhí)行 beforeUpdate(){} 及 updated(){} 的函數(shù),所以,我們?cè)谡?qǐng)求完數(shù)據(jù)后,還需要進(jìn)行操作,就在 updated(){} 中來完成吧
nodejs 中的頁面的重定向
? 這里的 Location 是設(shè)置的前端的路由,后端返回的東西,是沒有跨域的限制的,并且需要 res.end()?
否則,前端的頁面沒有響應(yīng),(301,302 都可以)
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/shangjun6/p/11310489.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的axios的数据请求方式及跨域的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【可视化应用案例】使用ProPlot绘制
- 下一篇: 【原】docker部署单节点consul