当前位置: 首页 > article >正文

vue请求数据报错,设置支持跨域请求,以及2种请求方法axios或者async与await

设置跨域

  • 通过vite创建的项目,一般会在你项目文件中自动生成一个名为vite.config文件,点击添加支持跨域的代码
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  server: {
    hmr: {
      overlay: false
    },
    proxy: {
      '/api':{
        target: 'http:你请求数据的ip地址',
        changeOrigin: true,
        rewrite: (path)=> path.replace(/^\/api/,'')
      }
    }
  }
})

  • 通过vue-cli脚手架工具创建项目,设置跨域时,在vue.config.js中添加支持跨域代码,若无此文件手动创建
module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'http://你请求数据的ip地址',
        changeOrigin: true,
        pathRewrite:{
          '^/api':''
        }
      }
    }
  }
}

异步请求的2中方式

  • axios请求
// 先安装需要用到的库
npm install axios
  1. 接下来通过案例演示请求过程
// 在script标签中
<script>
    // 导入环境所需要的环境依赖
    import { onMounted } from 'vue'
    import axios from 'axios'
    
    export default{
        setup(){
            onMounted(()=>{
                // 设置请求头,相当于请求数据的钥匙,在不同的请求场景中,请求头的内容各有不同,并且有的不需要设置请求头
                let ps = {
                  start: "2015-01-01",
        		  end: "2016-12-31"
                };
                axios.post('/api/数字ip地址后面的内容',ps).then((res)=>{
                    let MyData = res.data.results
                    // 打印一下是否请求成功
                    console.log(MyData)
                })
            })
        }
    }
</script>

在这里插入图片描述

  • 通过自带的async和await来请求数据

'application/json' 是一种 MIME 类型(也称为内容类型,Content-Type),用于告诉服务器或客户端,发送或接收的数据是 JSON 格式

// 在script标签中
<script>
    // 导入环境所需要的环境依赖
    import { onMounted } from 'vue'
    import axios from 'axios'
    
    export default{
        setup(){
            onMounted(async()=>{
                // 设置请求头,相当于请求数据的钥匙,在不同的请求场景中,请求头的内容各有不同,并且有的不需要设置请求头
               // 定义请求头
        let ps = {
        'start': '2015-01-01',
        'end': '2016-12-31'
      }
      const respone = await fetch('/api/hospitals', {
        method: 'POST',
            headers: {
              'Content-Type': 'application/json',
            },
            body: JSON.stringify(ps),
      })
      const res = await respone.json()
      let mydata = res.results
        console.log(mydata)
                })
            })
        }
    }
</script>

在这里插入图片描述


http://www.kler.cn/a/395194.html

相关文章:

  • 力扣513:找树左下角的值
  • Android 项目依赖库无法找到的解决方案
  • 算法训练(leetcode)二刷第二十六天 | *452. 用最少数量的箭引爆气球、435. 无重叠区间、*763. 划分字母区间
  • 批量从Excel某一列中找到符合要求的值并提取其对应数据
  • golang使用etcd版本问题
  • [DEBUG] 服务器 CORS 已经允许所有源,仍然有 304 的跨域问题
  • golang反射函数注册
  • (十六)JavaWeb后端开发——Spring框架常见注解
  • 【C++】C++基础知识
  • 翼鸥教育:从OceanBase V3.1.4 到 V4.2.1,8套核心集群升级实践
  • 使用 Python 向 IP 地址发送字符串 —— TCP 与 UDP 协议详解
  • 蓝桥杯——数组
  • kafka 的一些问题,夺命15连问后续
  • 1111111111待修改--大流量分析(三)-BUUCTF
  • MySQL推荐使用Docker部署吗?
  • FFmpeg的基本结构
  • Vue3 -- 环境变量的配置【项目集成3】
  • StructuredStreaming (一)
  • 【golang-技巧】- pprof 添加开关
  • Leetcode刷题Python之3258.统计满足k约束的子字符串I
  • SSM学习记录(二)之SSM整合配置
  • 【Unity基础】对比OnCollisionEnter与OnTriggerEnter
  • 机器学习:CatBoost模型(高级版)——高效且强大的树形模型
  • 深度学习知识点5-马尔可夫链
  • 等保测评怎么做?具体流程是什么?
  • 鸿蒙UIAbility