欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

vue vuex跨域

吉茹定1年前8瀏覽0評論

當我們在使用Vue進行開發的時候,常常會遇到跨域的問題??缬蚴侵冈跒g覽器中,一個域下的文檔或腳本試圖訪問另一個域下的資源。Vue可以通過Vue-Resource或Axios等插件解決跨域問題,但是在Vuex中,我們需要搭建一個專門的代理服務器來解決跨域問題。

第一步是安裝cors插件。cors是一個node.js的包,可以用來解決跨域問題。在終端中輸入以下命令:

npm install cors --save

第二步是在服務器文件中引入cors,并在app.use中調用:

const express = require('express')
const app = express()
const cors = require('cors')
app.use(cors())
//...

第三步是在Vuex的actions中,使用Vue-Resource或Axios進行異步請求:

import Vue from 'vue'
import VueResource from 'vue-resource'
Vue.use(VueResource)
const actions = {
getData ({commit}) {
Vue.http.get('http://localhost:3000/api')
.then(response =>{
commit('SET_DATA', response.body)
})
.catch(error =>{
console.log(error.message)
})
}
}

第四步是在服務器文件中,創建與Vue-Resource或Axios異步請求的路由:

const express = require('express')
const app = express()
const cors = require('cors')
const router = express.Router()
app.use(cors())
router.get('/api', function (req, res) {
res.send({
data: 'hello world'
})
})
app.use('/', router)
app.listen(3000, function() {
console.log('server is running on port 3000')
})

第五步是在Vue的組件中,調用actions:

import { mapActions } from 'vuex'
export default {
methods: {
...mapActions([
'getData'
])
},
created () {
this.getData()
}
}

通過以上五步,我們就可以在Vuex中成功解決跨域問題。當然,如果您不想搭建一個專門的代理服務器,也可以使用一些在線的代理服務器來解決跨域問題。但是如果您想更好地掌控自己的項目,建議按照以上五步進行操作。