axios的安装、跨域和使用

1.安装axios

cnpm install axios --save

2.在main.js添加

import Axios from 'axios'

Vue.prototype.$axios = Axios;


new Vue({
  el: '#app',
  Axios,
  components: { App },
  template: '<App/>'
})

3.axios解决跨域问题

(1)在config文件夹下的index.js页面修改配置

proxyTable: {
		'/api': {
			target: 'http://61.164.49.122:8083',//设置你调用的接口域名和端口号 别忘了加http
			changeOrigin: true,
			pathRewrite: {
			  '^/api': ''//这里理解成用‘/api’代替target里面的地址,后面组件中我们掉接口时直接用api代替 比如我要调用'http://40.00.100.100:3002/user/add',直接写‘/api/user/add’即可
			}
		  }
		
	},

(2)在main.js添加

import Axios from 'axios'

Vue.prototype.$axios = Axios;

Vue.prototype.Host='/api';

new Vue({
  el: '#app',
  Axios,
  components: { App },
  template: '<App/>'
})

4.在vue页面中使用axios

	let apiUrl=this.Host+'/video/list';

	// 视频预览
	this.$axios({
	url: apiUrl,
	method: 'GET',
	params: {
		id:1
	},
	}).then( res => {

		console.info(res)
 	
	}).catch( e => {
		console.log("4444")	
		console.log(apiUrl+'/video/list')
		console.log(e)
	
	})

 

Axios是一个基于Promise的HTTP客户端,可以用于浏览器和Node.js。Vue中使用Axios可以方便地进行HTTP请求。在Vue中使用Axios进行跨域请求,可以通过以下两种方式解决: 1. 在Vue中进行配置 可以在Vue的配置文件中设置Axios的默认配置,包括跨域请求的相关配置。具体步骤如下: ① 安装Axios ```shell npm install axios --save ``` ② 在main.js中引入Axios并进行配置 ```javascript import axios from 'axios' // 设置Axios的默认配置 axios.defaults.baseURL = 'http://localhost:8080' // 设置请求的基础URL axios.defaults.timeout = 5000 // 设置请求超时时间 // 设置Axios跨域请求相关配置 axios.defaults.withCredentials = true // 允许携带cookie axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded' // 设置POST请求的请求头 // 将Axios挂载到Vue的原型上,方便在组件中使用 Vue.prototype.$axios = axios ``` ③ 在组件中使用Axios进行跨域请求 ```javascript this.$axios.get('/api/user', { params: { id: 1 } }).then(res => { console.log(res.data) }).catch(err => { console.log(err) }) ``` 2. 使用Nginx转发 可以使用Nginx作为反向代理服务器,将Vue的请求转发到后端服务器上,从而实现跨域请求。具体步骤如下: ① 安装Nginx ```shell sudo apt-get install nginx ``` ② 配置Nginx 在Nginx的配置文件中添加以下内容: ```nginx server { listen 80; server_name localhost; location /api { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } ``` 其中,`/api`是Vue的请求路径,`http://localhost:8080`是后端服务器的地址。 ③ 在组件中使用Axios进行跨域请求 ```javascript this.$axios.get('/api/user', { params: { id: 1 } }).then(res => { console.log(res.data) }).catch(err => { console.log(err) }) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值