Ajax请求

Quasar在项目初始化过程中推荐使用Axios:Use Axios for Ajax calls? (Y/n)

然后你应该创建一个如下所示的新启动文件axios.js: (在这里您还可以指定您的axios实例的其他设置)

// src/boot/axios.js

import Vue from 'vue'
import axios from 'axios'

Vue.prototype.$axios = axios
// ^ ^ ^ 这将允许你使用$.axios
//       所以你不需要在每个vue文件中导入axios

还要确保用yarn/npm安装axios软件包。

TIP

如果您使用的是Quasar CLI,请务必查看预取功能

在你的单个文件组件方法中的用法如下所示:

methods: {
  loadData () {
    this.$axios.get('/api/backend')
      .then((response) => {
        this.data = response.data
      })
      .catch(() => {
        this.$q.notify({
          color: 'negative',
          position: 'top',
          message: 'Loading failed',
          icon: 'report_problem'
        })
      })
  },

向axios全局添加头文件的Vuex Actions中的用法(如身份验证期间):

import axios from 'axios'

export function register ({commit}, form) {
  return axios.post('api/auth/register', form)
    .then(response => {
      commit('login', {token: response.data.token, user: response.data.user})
      setAxiosHeaders(response.data.token)
    })
}

function setAxiosHeaders (token) {
  axios.defaults.headers.common['Authorization'] = 'Bearer ' + token
}

另请参阅Axios文档了解更多信息。