vue axios get、post请求

本文详细介绍了如何在Vue项目中使用Axios进行HTTP请求,包括安装、配置、请求类型及参数传递的方法,并提供了文件上传的具体示例。
/**
     * axios的安装
     * 本地引入,或者cdn引入  <script src="js/axios.min.js"></script>
     * 或者npm 安装 npm install axios --save-dev
     * 引入: import axios from 'axios'
     * 属性化: Vue.prototype.$axios = axios  以后页面即可使用this.$axios调用axios对象
     * 如果不设置 Content-Type ,默认为application/x-www-form-urlencoded方式提交数据
     * 当Conent-Type 设置为application/json时,就是作为json对象提交数据
     * 也可以通过格式序列化进行转化
     * 当请求数据格式为data时,作为json对象传递参数,参数类型:Request Payload
     * 当请求数据格式为params时,作为form data方式提交数据,参数类型:Query String Paramters
     */
    this.$axios({
      // 请求类型 post / get
      method: 'post',
      // 请求地址
      url: '',
      // 参数对象
      params: {},
      // 请求头
      headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
      }
    }).then((res) => {
      console.log('result', res)
    }).catch((err) => {
      console.log('error', err)
    })
/**
     * 另一种简便的调用方法
     */
      this.$axios.post('https://bot.4paradigm.com/v1/login',{
        username: '13277989731',
        password: '123456'
      }).then((res) => {
        console.log('result', res)
      }).catch((err) => {
        console.log('error', err)
      })
实例一:
	// 请求参数
	let param = new FormData()
	// file为上传的文件对象
	param.append('file', this.file)
	// config为发送请求的配置信息,包括请求头,请求超时时间等
    let config = {
        headers: { 'Content-Type': 'multipart/form-data' },
        timeout: 1000 * 20
    }
	// 请求主体
    axios.post(this.uploadFileUrl, param, config).then(res => {
		// 请求返回结果
        if (res.data.flag === 'true') {
          this.$Message.success('导入成功!')
		  // 成功返回后将file对象置空
          this.file = null
        } else {
          this.$Message.error(res.data.msg)
        }
    })
实例二:
    // config为请求配置信息
    let config = {
        headers: {'Content-Type': 'multipart/form-data'}
    }
    // 请求参数
    let formData = new FormData()
    // 此处上传的文件为通过vueCropper处理后获取的图片data对象
    formData.append('file', data, this.fileName + '.png')
    // 除了文件对象外可以通过append添加其他额外请求参数
    formData.append('userId', this.userId)
    axios.post(this.actionUrl, formData, config)
        .then((res) => {
			this.$Message.success('图片上传成功!')
        })
        .catch(() => {
            this.$Message.warning({
              content: '图片上传出错,请稍后重试'
            })
	})

 

Vue Axios是一个基于Promise的HTTP库,用于在浏览器端和Node.js中发送HTTP请求。它可以用于发送GETPOST请求GET请求是用于从服务器获取数据的请求方式。使用Vue Axios发送GET请求的方法如下: ```javascript this.$axios.get(url) .then(response => { // 处理返回的数据 }) .catch(error => { // 处理错误 }); ``` POST请求是用于向服务器发送数据的请求方式。可以使用FormData对象发送文件或其他对象作为参数。使用Vue Axios发送POST请求的方法如下: ```javascript let url = 'http://127.0.0.1:8000/uploadimage/'; let formData = new FormData(); formData.append('img', blobInfo.blob()); this.$axios.post(url, formData) .then(response => { // 处理返回的数据 }) .catch(error => { // 处理错误 }); ``` 当发送POST请求时,可以根据需要设置Content-Type,常见的资源类型包括`application/x-www-form-urlencoded`、`multipart/form-data`、`application/json`和`application/xml`。默认情况下,Content-Type为`application/x-www-form-urlencoded`。 以上是使用Vue Axios发送GETPOST请求的方法。希望能对您有所帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [vue axios数据请求getpost方法及实例详解](https://download.youkuaiyun.com/download/weixin_38732519/12952521)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Vue实战032:axios使用getpost发送各种请求](https://blog.youkuaiyun.com/kevinfan2011/article/details/95312771)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值