来源:滁州SEO

1

**什么是axios呢?**了解,并去使用它,对于axios发送请求的两种方式有何了解,以及涉及axios跨域问题如何解决。

对于axios网络交互,去使用axios的同时,首先你要了解它是什么,如何使用才是。说axios网络交互,即发送请求,前面说两种方法,一为发送GET请求,二为POST请求。

解决axios跨域问题。

2

要想使用axios,是不是要了解它呢,讲解一下它。axios是基于Promise的HTTP库,可以用在浏览器和node环境中,在应用程序中,向服务器端发送Ajax请求同时获取服务器端相应的HTTP请求响应库。

我们为什么使用它呢?它的好处有哪些。可以单独使用,支持Promise API,解决了JavaScript“回调地狱”的问题,可以发送Cookie,HTTP认证,并发请求,请求和响应的拦截,取消请求等,自动转换json数据,适用于restful api场景。

在vue中通过Ajax从服务器端获取数据,前后端分离,后端负责提供api请求接口,前端用Ajax获取服务器数据。服务器端的api接口,一般使用restful api。

使用Ajax获取数据两种方式:

XMLHTTPRequest对象 JQuery提供的Ajax方法

3

了解axios的是什么?做什么了,如何使用它呢?使用axios,它的使用很广泛,可以在vue cli中使用,也可以在非Vue cli应用中使用。分两种使用情况,一,在vue cli应用程序中使用axios,二,在vue文件中使用。

第一种情况下,在vue cli应用程序中,那么就要创建vue cli应用程序,然后安装axios,接着配置axios,就可以使用了。

安装axios的方法:

使用Npm或yarn,或者是,使用vue安装axios。

安装完成后,会在插件目录既是plugins中,有axios.js文件,然后在入口文件引入该插件plugins插件。

// main.js
import './plugins/axios'

使用axios可以获取网络数据:

// 实例
created: function(){
const app = this;
axios.get('接口').then(res=>{
app.users = res.data.data;
});
}

在vue文件中使用axios,引入vue.js文件和axios.js文件,使用axios发送Ajax请求。

script(导入vue.js)
script(导入axios.js) created: function(){
// 创建vue实例,axios获取数据
axios.get('接口').then(function(res){
console.log(res.data);
}).catch(function(error){
console.log(error);
});
}

发送请求

一般分:发送GET请求,和发送POST请求:

GET传递,请求参数有两种写法,一种是直接在url中附加参数,一种是使用parmas属性添加GET参数。

// url
axios.get('...?name=da').then(function(response){
console.log(response.data);
this.user = response.data.data;
}).catch(function(error){
console.log(error);
}); // parmas属性
axios.get('...', {
params: {
name: 'dada'
}
})
.then(function(response){
console.log(response.data);
this.users = response.data.data;
}).catch(function(error){
console.log(error);
});

发送post请求:

button(@click="addage")
addage: function(){
const app = this;
let params = new URLSearchParams();
params.append('age1', 1);
axios.post('url...', params).then(function(res){
console.log(res.data);
});
}

json格式:

module.exports = function(app){
// 配置json
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));
};
adduser: function(){
consot app = this;
axios.post('接口',{
name: 'dada',
age: 1
}).then(function(res){
console.log(res.data);
});
} if(res.data.status){
// 数据插入成功
app.user.push(res.data.data);
}

4

跨域问题

什么是跨域问题,就是访问其他域中的资源会出现问题,而访问相同的域不会出现问题,如何解决这种问题,这个问题就叫做跨域问题。

使用的解决方法:

第一种是通过vue框架来配置跨域访问,第二种事通过服务器端,修改node程序来实现跨域问题。

在vue框架中的vue.config.js中,配置代理服务器。

module.exports = {
devServer: {
proxy: '域名'
}
};
// 代理服务器处理 created:function(){
const app = this;
axios.get('/users').then(res=>{
app.users=res.data.data;
});
}

设置多个跨域请求的代理,但是在生产环境中存在问题,还是会有跨域问题。

module.exports = {
devServer: {
// 多个代理请求
proxy: {
"/api":{
target: 'http://...',
pathRewrite:{
"^/api":
}
}
}}; created: function(){
const app = this;
axios.get('api/users').then(res=>{
app.users=res.data.data;
});
}

服务器端支持跨域访问

express服务器端,开启cors,跨域资源共享,开启前,要安装cors跨域支持模块,引入const cors = require('cors')。

然后添加中间件:app.use(cors())即可。

❤️ 不要忘记留下你学习的脚印 [点赞 + 收藏 + 评论]

一篇文章带你了解axios网络交互-Vue的更多相关文章

  1. 一篇文章带你用Python网络爬虫实现网易云音乐歌词抓取

    前几天小编给大家分享了数据可视化分析,在文尾提及了网易云音乐歌词爬取,今天小编给大家分享网易云音乐歌词爬取方法. 本文的总体思路如下: 找到正确的URL,获取源码: 利用bs4解析源码,获取歌曲名和歌 ...

  2. 一篇文章带你使用Typescript封装一个Vue组件

    一.搭建项目以及初始化配置 vue create ts_vue_btn 这里使用了vue CLI3自定义选择的服务,我选择了ts.stylus等工具.然后创建完项目之后,进入项目.使用快捷命令code ...

  3. MYSQL(进阶篇)——一篇文章带你深入掌握MYSQL

    MYSQL(进阶篇)--一篇文章带你深入掌握MYSQL 我们在上篇文章中已经学习了MYSQL的基本语法和概念 在这篇文章中我们将讲解底层结构和一些新的语法帮助你更好的运用MYSQL 温馨提醒:该文章大 ...

  4. 一篇文章带你了解网页框架——Vue简单入门

    一篇文章带你了解网页框架--Vue简单入门 这篇文章将会介绍我们前端入门级别的框架--Vue的简单使用 如果你以后想从事后端程序员,又想要稍微了解前端框架知识,那么这篇文章或许可以给你带来帮助 温馨提 ...

  5. 一篇文章带你了解服务器操作系统——Linux简单入门

    一篇文章带你了解服务器操作系统--Linux简单入门 Linux作为服务器的常用操作系统,身为工作人员自然是要有所了解的 在本篇中我们会简单介绍Linux的特点,安装,相关指令使用以及内部程序的安装等 ...

  6. 一篇文章带你掌握主流数据库框架——MyBatis

    一篇文章带你掌握主流数据库框架--MyBatis MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射. 在之前的文章中我们学习了MYSQL和JDBC,但是这些东西远远不 ...

  7. 一篇文章带你掌握主流办公框架——SpringBoot

    一篇文章带你掌握主流办公框架--SpringBoot 在之前的文章中我们已经学习了SSM的全部内容以及相关整合 SSM是Spring的产品,主要用来简化开发,但我们现在所介绍的这款框架--Spring ...

  8. 一篇文章带你掌握MyBatis简化框架——MyBatisPlus

    一篇文章带你掌握MyBatis简化框架--MyBatisPlus 我们在前面的文章中已经学习了目前开发所需的主流框架 类似于我们所学习的SpringBoot框架用于简化Spring开发,我们的国人大大 ...

  9. 一篇文章带你了解轻量级Web服务器——Nginx简单入门

    一篇文章带你了解轻量级Web服务器--Nginx简单入门 Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件代理服务器 在本篇中我们会简单介绍Nginx的特点,安装,相关指令使用以及配置信 ...

随机推荐

  1. Social GAN代码要点记录

    近日在阅读Social GAN文献的实验代码,加深对模型的理解,发现源代码的工程化很强,也比较适合构建实验模型的学习,故细致阅读.下文是笔者阅读中一些要点总结,有关于pytorch,也有关于模型自身的 ...

  2. 8.scrapy的第一个实例

    [目标]要完成的任务如下: ※ 创建一个 Scrap项目.※ 创建一个 Spider来抓取站点和处理数据.※ 通过命令行将抓取的内容导出.※ 将抓取的内容保存的到 MongoDB数据库.======= ...

  3. RCE

    RCE remote command/code execute 远程系统命令/代码执行 系统从设计上需要给用户提供指定的远程命令操作的接口.可以测试一下自动运维平台. 在PHP中,使用system.e ...

  4. Ubuntu16.04 faster-rcnn+caffe+gpu运行环境配置以及解决各种bug

    https://blog.csdn.net/flygeda/article/details/78638824 本文主要是对近期参考的网上各位大神的博客的总结,其中,从安装系统到跑通程序过程中遇到的各种 ...

  5. Java算法练习——无重复字符的最长子串

    题目链接 题目描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 &qu ...

  6. chown virtualbox

    virtualbox安装 root@cbill-VirtualBox:/# chown --help用法:chown [选项]... [所有者][:[组]] 文件... 或:chown [选项]... ...

  7. zabbix监控一个机器上的多个java进程的jvm

    一.监控安装部署 1.1 JVM端口配置 (/bqhexin/tomcat/bin/catalina.sh)在安装的tomcat路径,找到catalina.sh文件. vim编辑并添加: catali ...

  8. springMVC源码阅读-通过画图理解一个请求生命周期(十二)

  9. 黑客攻防技术宝典web实战篇:测试后端组件习题答案

    随书答案. 某网络设备提供用于执行设备配置的 Web 界面.为什么这种功能通常易于受 到操作系统命令注入攻击? 用于配置网络设备的应用程序通常包含使用正常的 Web 脚本 API 无法轻松实 现的功能 ...

  10. 微信小程序官方示例 官方weui-wxss下载于安装 详解

    1.小程序示例源码:https://github.com/wechat-miniprogram/miniprogram-demo 2.微信 weui下载地址:https://github.com/we ...