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

【python快速编程入门(第二版)黑马程序员课后编程题】

python快速编程入门(第二版)黑马程序员课后编程题

weixin_46167259的博客 1万+

GitLab教程(四):分支(branch)和合并(merge)

命令进行合并时,Git具备一定的智能自动化处理能力:如果一个分支仅修改了文件A,而另一个分支独立地修改了文件B,Git能够无缝整合这些更改,自动完成合并过程——即最终的代码既包含了对A文件的修改也包含了对B文件的修改。同样地,若两个分支虽然都修改了同一个文件,但涉及的是文件中互不重叠的部分,比如一个改动发生在第一行,另一个则在第二行,Git同样能巧妙地自动合并这些非冲突性修改。获取了远程分支的最新变化,或者当你想要合并本地的一个分支到当前分支时,就会用到这个命令。,默认会尝试合并远程分支到当前分支。

TracyCoder的博客 7885

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

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

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

【专栏必读】王道考研408数据结构+算法设计与分析万字笔记使用说明及章节导航

各位老铁思维导图在我整理完笔记后会放上去的,我需要根据王道的思维导图重新再做一遍 文章目录一:有关注意事项二:关于专栏三:学习建议四:各专栏导航(各位老铁别催,质量优先)(1)第一章:绪论(2)第二章:线性表(3)第三章:栈和队列第四章:串第五章:二叉树第六章:图 首先感谢王道大大(手动比心),很用心在做了,大家可以看其中两节是否符合胃口 (王道408考研数据结构)第五章树-第三节1:二叉树遍历(先序、中序和后序) (王道408考研数据结构)第五章树-第四节2:平衡二叉树(AVL)及其旋转 一:有.

快乐江湖的博客 5万+

vue中使用postMessage进行跨越传值

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

beichen3997的博客 1645

4.Simulink基础建模操作——加减乘除运算

加减乘除运算

FPGA/MATLAB学习教程/源码/项目合作开发 9549

Mac 安装neo4j(解压版)最新版本教程

本文介绍了在Mac M系列操作系统上安装Neo4j图数据库的具体步骤。内容包括:从官网下载解压版Neo4j社区版压缩包;通过终端命令将其解压到/opt目录并重命名;配置环境变量以便全局访问;以及常用命令如启动/停止服务、重置密码等。安装完成后,用户可通过浏览器访问http://localhost:7474,使用默认账号neo4j/neo4j登录并根据提示重置密码。该教程简洁明了地指导用户完成Neo4j在Mac上的安装配置过程。

猿小白的博客 909

【原创】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

利用 SAP Joule 提升 ABAP 开发效率的前提条件与限制全解析

综上,想要在 ABAP Development Tools 中顺利使用 SAP Joule,既要准备好 BTP、IAS、ABAP 系统与 ADT 的版本与信任链,也要理解许可证、配额、语法范围等限制。只有在这些前提全部满足后,Joule 才能真正发挥生成式 AI 的价值,帮助 ABAP 开发者从繁琐模板中解放出来,把注意力投入在业务创新与 Clean Core 改造之上。未来 SAP 还将扩展中文语境、自动修复建议以及跨系统智能代理等功能,值得持续关注。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 661

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万+

【C#程序员入门AI】AI应用的操作系统:Semantic Kernel 2026实战

用户ID用户信息

人工智能AI技术 1247

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

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

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

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

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Axios解决跨域问题(Vue2版)

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

weixin_43565079的博客 7万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

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万+

【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、付费专栏及课程。

余额充值