vue使用axios的五种请求方式及解决跨域问题

Vue使用axios二次封装、解决跨域问题 在项目中,axios 进行二次封装可以更加方便的使用 Ajax 请求,提高代码复用性和维护性。同时可以封装统一的请求与响应拦截处理。在实际开发过程中,浏览器通常需要和服务器端进行数据交互。而 Vue.js 并未提供与服务器端通信的接口。从 Vue.js 2.0 版本之后,官方推荐使用axios 来实现 Ajax 请求。axios 是一个基于 promise 的 HTTP 客户端。 阅读详情

说明

在此使用是的vue-cli2

 npm install axios --save

在main.js中引入

import VueAxios from "vue-axios";

Vue.prototype.$axios = axios;

沿用上一次网络请求接口

接口文档

说明请求方式请求参数请求地址
GET 方式,无参数GET无/user/getUser
GET方式,Int参数GETInt(id)/user/getParamUser
Post方式,无参数POST无/user/postNoParamUser
Post方式,有参数POSTInt(id)/user/postParamUser
Post方式,Json化参数POSTObject(id,name,sex,studentId,sex,data)/user/postObjectParamUser

解决跨域问题

在项目的config目录下的index.js文件下配置,(在vue-cli3中需要手动新建vue.config.js文件进行配置)

在这里插入图片描述

在proxyTable属性中添加跨域对象,target为要跨域的目标对象地址,changeOrigin设置为true为表示跨域,pathRewrite则为路径简写,之后根路径的重复路径直接用/api代替就可。

在这里插入图片描述

布局

<template>
  <button @click="sendRequset">发送请求</button>
</template>

<script>

export default {
  name: "TestAxios",
  methods: {
    /**
     * 发送测试请求
     */
    sendRequset() {
    	
    }
  }
}
</script>

<style scoped>

</style>


发送Get请求

参照上次接口

无参GET请求

在sendRequset方法中写入请求,因为在配置跨域时配置了请求路径的简写,所以直接简写为/api即可

sendRequset() {
      this.$axios.get("/api/user/getUser").then(e => {
        console.log(e)
      })
  }

打印结果正确

在这里插入图片描述

有参GET请求

sendRequset() {
      //有参GET请求还可直接拼接到url后面
      this.$axios.get("/api/user/getParamUser",{
        params:{
          id:15
        }
      }).then(e => {
        console.log(e)
      })
    }

在这里插入图片描述

发送POST请求

因为在配置跨域时配置了请求路径的简写,所以直接简写为/api即可

发送无参POST请求

sendRequset() {
      this.$axios.post("/api/user/postNoParamUser").then( e => {
        console.log(e)
      })
    }

在这里插入图片描述

发送有参的表单数据

sendRequset() {
      let param = new FormData();
      param.append("id", 14);
      this.$axios.post("/api/user/postParamUser", param)
          .then(e => {
          console.log(e);
        })
    }

在这里插入图片描述

发送JSON化POST请求

sendRequset() {
      axios.defaults.headers.post['Content-Type'] = 'application/json;charset=utf-8';
      this.$axios.post("/api/user/postObjectParamUser", {
        id:1,
        name:"顺子",
        data:666,
        studentId:123123,
        sex:"萌新"
      }).then(e => {
          console.log(e);
        })
    }

在这里插入图片描述

Vue使用axios、解决axios跨域 axios axios文档 axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端 从浏览器中创建 XMLHttpRequests 从 node.js 创建 http 请求 支持 Promise API 拦截请求和响应 转换请求数据和响应数据 取消请求 自动转换 JSON 数据 客户端支持防御 XSRF 看起来就很高大上,就决定是它了;但用起来脑子石化,一脸黑... 阅读详情

相关推荐

Vue + TypeScript + VueCli3+ 封装 axios 请求 并 解决跨域问题

一、版本说明 "vue": "^2.6.10", "axios": "^0.19.0", "@vue/cli-plugin-babel": "^4.0.0", "@vue/cli-plugin-router": "^4.0.0", "@vue/cli-plugin-typescript": "^4.0.0", "@vue/cli-plugin-vuex": "^4.0.0", "@vue/cl...

窝窝头的博客 6142

Vue-axios post 跨域问题

问题描述 问题解决方案 headers: { "Content-Type": "application/x-www-form-urlencoded" } 添加上述

assiduous_me的博客 4189

使用Nginx解决Vue axios跨域访问的问题

目录索引问题描述解决办法简要描述Vue构建打包和部署的过程 问题描述 使用Vue的axios向一个服务发起调用请求,打开Chrome的调试工具(开发者模式),会在Console控制台输出“跨域访问策略”-即服务端不支持跨域访问。 解决办法 使用Nginx作为代理访问的服务器,proxy_pass代理最初的访问请求。配置如下, worker_processes 1; error_log logs/e...

qq_40984466的博客 3982

Vue跨域请求post\get

post get_catalogue:function(){           this.axios.post('/api/acquire/catalogue/',                           Qs.stringify({           .

Pert的博客 707

Cadence仿真数字电路功耗

Cadence仿真数字电路功耗 数字电路的功耗采用平均电流乘电源电压获得,所以本文的关键是测量平均电流。 仿真前设置好仿真参数后,在仿真的ADE街边选择:outputs➡to be saved➡select on design 选择电源的负端电流(若选择正端,则电流为负): 选择完成后,在ADE界面讲所选节点的plot也勾选上,点击run。仿真完成后自动显示波形。在波形上选中该电流曲线,右击选择:send to➡calculator 注意上图中,商店前的波形不稳定,需要进行截取。在calculator

qq_41519780的博客 1万+

/lib//libclntsh.so: file format not recognized; treating as linker script

centos7.7+oracle19.3 建库过程报错:预检查都是通过的 /oracle/product/19.3.0/db_1/lib/libasmperl19.a -Wl,--no-whole-archive -lclntsh -lclntshcore -lasmclntsh19 -lhasgen19 -lskgxp19 -locr19 -lcell19 -lirc INFO: /usr/bin/ld:/home/app/oracle/product/19.3.0/db_1/li...

sqlora的专栏 9914

vue中this.$http.post()跨域和请求参数丢失

/请求参数,不能以get请求方式写:{params: {userName: "root123", passWord: "root123"}}//解决跨域问题,不加无法跨域。//post请求远程资源。

越是安静内敛的人,越容易生不惊人死不休 1371

Matlab实现POD本征正交分解数据降维模型

近年来,随着大数据时代的到来,各种复杂的工程问题产生了海量的高维数据,如何有效降维、提取数据中的关键信息成为了众多领域中的重要问题。在传统的数据降维方法中,PCTFA(主成分分析)是一种典型的统计方法,然而对于流体动力学等非线性问题,PCTFA在处理时可能失去部分物理意义,难以捕捉到系统的复杂性。在降维过程中,POD提取的主要特征通常是一组复杂的正交基函数,如何将这些结果有效地转化为直观且易于理解的物理意义,特别是在实际应用中,对该特征的理解和分析,依然是一个重要的课题。本项目的扩展性也得到了有效体现。

优质创作者: 人工智能技术领域 对于有一定基础的 MATLAB和Python带具体需求都可以详谈 MATLAB和Python可以提供代码调试服务加油 谢谢 你的鼓励是我前行的动力 谢谢支持 加油 谢谢 1216

vue中使用postMessage进行跨越传值

接受的页面 <!-- storeOperations.vue门店运营一览 --> <template> <section class="main-content"> <iframe id="child" width="0" src="http://www.list.com/acs/ceshi"> ...

beichen3997的博客 1645

Vue中实现word文档渲染、在线编辑、保存

Vue3对word文档进行渲染、编辑、保存。word转成html,html转成word

h18749849699的博客 1328

Kindle电子书DRM破解全攻略:从下载到转换的完整流程(含最新DeDRM插件配置)

本文详细介绍了如何合法移除个人购买的Kindle电子书的DRM保护,实现跨设备阅读与备份。核心内容包括使用最新DeDRM插件(如noDRM分支)配合Calibre进行配置,并针对亚马逊最新的KFX加密格式提供了密钥提取与实战操作指南。文章强调该方法仅适用于个人合理使用,旨在帮助读者真正掌控自己的数字资产。

delta的博客 575

【原创】Vue使用axios解决SpringBoot跨域Post请求问题

作者:DCTANT 先介绍一下Web端使用的版本情况: 这里采用了Vue Cli+Webpack的形式搭建的项目,其中Vue版本为2.9.6,webpack版本为3.6.0,axios版本为0.19.0,在2019年9月19日应该算是比较新的版本了。 解决跨域请求问题不是单纯前端改改就好的,也不是后端单纯改改就好的,需要两个端配合修改才能解决问题,另外加上Android端也要相应进行配置,当...

DCTANT的博客 2406

《大数据: Hive 交互命令和常用配置》

一、Hive 交互命令 1. 首先解决一个可能发生的问题 (log4 jar包冲突) 我这里解决方法就是删除一个,我删的是hive下的包 yexiang@hadoop1:<hive>$ hive SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/opt/soft/apache-hive-2.3.7-bin/lib/log4j-slf4j-impl-2.6.2.ja.

yexiang优快云的专栏 287

Vue之Axios跨域问题解决方案

背景:因为axios中只能使用get和post方法来进行请求数据,没有提供jsonp等方法进行跨域访问数据 axios中文网址:https://www.kancloud.cn/yunye/axios/234845 // axios 中的GET请求 axios.get('/user', { params: { ID: ‘001’ } }) ...

wh_xmy的博客 26万+

AI原生SaaS应用的自动化运维体系构建

随着ChatGPT掀起的AI原生应用浪潮,越来越多SaaS(软件即服务)产品开始以"AI优先"的方式设计——从用户交互到核心功能,都深度依赖机器学习模型(如推荐算法、智能客服)、实时数据流(如用户行为分析)和弹性算力(如大模型推理)。这类应用的运维需求与传统SaaS完全不同:传统运维像"修水管",哪里漏了补哪里;AI原生运维则像"照顾会成长的宠物",需要实时感知模型状态、数据变化和流量波动,主动调整资源。

AI天才研究院 1079

【SpringBoot 4.x 第70节】夯爆了,企业级 API 设计规范落地:状态码、错误码、接口文档与兼容性(超详解)!

🏆 本文收录于 《滚雪球学 Spring Boot 4.x》 专栏。本专栏面向 有一定 Java 基础,但尚未系统学习 Spring Boot 的读者,采用“滚雪球式学习法”:先跑通、再理解、再重构、再上线,带你从第一个 Hello API 开始,逐步完成一个可部署、可监控、可扩展的后端项目。

**My Coding Family** 128

解决Axios跨域问题(Axios跨域问题解决方案)

Axios是不允许跨域访问的,别说跨域,跨端口都不行。例如某项目我本地vue前端frontEnd为`localhost:8888`,Java后台 backEnd为`localhost:8889` 。 这个时候就有两个方案了: - 修改`frontEnd`前端,支持跨域(通过代理的形式,当然这种是`伪跨域`,但是挺有用,前提是后端不限制即可)。 - 修改`backEnd`后台,支持跨域(同时限制可跨域名,不在本文讨论范围,且看过往处理方式)。

★【World Of Moshow 郑锴】★ 10万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Axios解决跨域问题(Vue2版)

什么是跨域 首先需要了解到浏览器的同源策略,同源策略是最核心也是最基本的安全功能,缺少同源策略浏览器的正常功能可能会受到影响。同源策略会阻止一个域的javascript脚本和另外一个域的能容进行交互。同源(即指在同一个域)就是两个页面具有相同的协议(protocol)、主机(host)和端口号(port)。 当一个请求url的协议、域名、端口三个之间任意一个与当前页面url不同即为跨域。 Vue中用Axios解决跨域问题 配置代理可解决使用Axios不能直接进行跨域...

weixin_43565079的博客 7万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

vue中axios跨域请求

vue中axios跨域请求 1.axios 是 第三方库 使用方法: 使用 npm: $ npm install axios 使用 bower: $ bower install axios 使用 cdn: <script src="https://unpkg.com/axios/dist/axios.min.js"></script> axios ...

miaomiao博客 2万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【Vue 快速入门系列】一文透彻vue中使用axios及跨域问题的解决

Axios(ajax i/o system),是Vue创建者主推的请求发送方式,因其简单的配置与良好的性能被前端爱好者所喜爱。众所周知,在进行网页设计时经常需要从后端拿数据,在Web应用初期会将整个页面或者文档直接拿过来,随着Web应用的发展,人们对性能的不断提升,逐渐向无页面刷新从后端获取数据,而axios就是其中一种新兴、火热的方式。在学习本篇博客时,不需要太过于了解请求的发送过程,但需要对各种请求方式有一个大致的认识。本文将会从0到1的介绍vue中如何使用axios,并结合项目实例加深大家印象。

一个非常Cool的人 4222

Vue中Axios的详细使用及跨域解决

1.原因 由于axios默认发送数据时,数据格式是Request Payload,而并非我们常用的Form Data格式,所以后端未能正常获取到参数。 2.解决方法 在发送之前,使用qs模块对其进行处理。 3.具体步骤 安装qs模块:cnpm install qs --save: 在main.js 中添加:import qs from qs。 使用qs: this.$axios.post( ...

Korbin的博客 8449

Vue Axios之生产/开发环境跨域问题解决

Vue Axios开发环境、生产环境跨域问题解决 一、前置知识 首先要了解几个Vue-cli的几个配置参数。另:从 Vue CLI 3.3 起baseUrl已弃用,请使用publicPath 1. publicPath 它是部署你的应用包时的基本URL。默认为 '/'。Vue Cli默认项目是被部署在域名的根路径下。比如你要把打包生成的文件部署在https://www.lhch.com下,那么采用默认设置就行。 那如果我们是部署在https://www.lhch.com/test/路径下呢?那么此时可以

进无止进 8090

Vue axios 的使用与跨域问题

在前端开发中, 我们一种常见的网络请求方式就是JSONP使用JSONP最主要的原因往往是为了解决跨域访问的问题。JSONP的原理是什么呢?JSONP的核心在于通过标签的src来帮助我们请求数据。原因是我们的项目部署在服务器上时, 是不能直接访问服务器上的资料的,会产生跨域问题。这个时候, 我们利用标签的src帮助我们去服务器请求到数据, 将数据当做一个javascript的函数来执行, 并且执行的过程中传入我们需要的json。

ili_ii的博客 1万+

vue如何解决axios请求前端跨域问题

一、为什么会出现跨域的问题? 跨域:浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域。 在前后端分离的模式下,前后端的域名是不一致的,此时就会发生跨域访问问题。跨域问题来源于JavaScript的同源策略,即只有 协议+主机名+端口号(如存在)相同,则允许相互访问。也就是说JavaScript只能访问和操作自己域下的资源,不能访问和操作其他域下的资源。跨域问题是针对JS和ajax的。而axios是通过Promise实现对ajax技术的一种封装,也同样存在跨域问题。 二、解决

菜鸡的博客 1万+

vue中整合使用axios 以及qs解决跨域问题

我在学vue时与后台交互一直是使用vue-resource,但是在做项目时一起的老哥告诉我说vue-resource已经不维护了,并且vue的作者也推荐使用axios,于是就都换成了axios,其实用法都差不多,只是vue-resource能直接导入,但是axios需要另外一个vue专门为axios整合的包‘vue-axios’。 一、在vue中整合使用axiox 首先我在下面都是使用npm以及v...

FDXH小白的博客 5338

解决 Vue 使用 Axios 进行跨域请求的方法详解

跨域请求是指浏览器从一个域向另一个域发送请求。这种请求会被浏览器的同源策略阻止,除非目标域明确允许跨域请求。不同的域名(例如从请求不同的端口(例如从请求不同的协议(例如从http请求https跨域请求问题是前后端分离开发中常见的问题,可以通过在后端配置 CORS、在开发环境中使用代理以及其他方法来解决。最优的解决方案是配置后端服务器以允许必要的跨域请求,从而保证应用的安全性和稳定性。希望本文能帮助你全面了解和解决 Vue 项目中使用 Axios 发起跨域请求时遇到的问题。

繁依Fanyi的博客 1万+
上一篇: android用TextView写一个2048小游戏
下一篇: 数据结构中使用递归建立链式满二叉树(C语言实现)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这次最后一次熬夜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值