我的编程空间,编程开发者的网络收藏夹
学习永远不晚

vue怎么发送ajax请求

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

vue怎么发送ajax请求

这篇文章主要讲解了“vue怎么发送ajax请求”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue怎么发送ajax请求”吧!

首页安装并引入axios

1、npm install axios -S        #直接下载axios组件,下载完毕后axios.js就存放在node_modules\axios\dist中

2、网上直接下载axios.min.js文件

3、通过script class="lazy" data-src的方式进行文件的引入<script class="lazy" data-src="js/axios.min.js"></script>

axios基本使用方法

发送get请求

1、基本使用格式

格式1:axios([options]) #这种格式直接将所有数据写在options里,options其实是个字典

格式2:axios.get(url[,options]);

2、传参方式:

通过url传参

通过params选项传参

下面我们来看一个vue发送ajax get请求实例代码

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>发送AJAX请求</title>  <script class="lazy" data-src="js/vue.js"></script>  <script class="lazy" data-src="js/axios.min.js"></script>  <script>    window.onload=function(){      new Vue({        el:'#itany',        data:{          user:{            name:'alice',            age:19          },        },        methods:{          send(){            axios({              method:'get',              url:'http://www.baidu.com?name=tom&age=23'            }).then(function(resp){              console.log(resp.data);            }).catch(resp => {              console.log('请求失败:'+resp.status+','+resp.statusText);            });          },          sendGet(){            axios.get('server.php',{              params:{                name:'alice',                age:19              }            })            .then(resp => {              console.log(resp.data);            }).catch(err => {       //              console.log('请求失败:'+err.status+','+err.statusText);            });          },        }      });    }  </script></head><body>  <div id="itany">    <button @click="send">发送AJAX请求</button>    <button @click="sendGet">GET方式发送AJAX请求</button>  </div></body></html>

发送post请求(push,delete的非get方式的请求都一样)

1、基本使用格式

格式:axios.post(url,data,[options]);

2、传参方式

1、自己拼接为键值对

2、使用transformRequest,在请求发送前将请求数据进行转换

3、如果使用模块化开发,可以使用qs模块进行转换

4、注释:axios默认发送post数据时,数据格式是Request Payload,并非我们常用的Form Data格式,所以参数必须要以键值对形式传递,不能以json形式传参

下面看是一个vue发送ajax post请求实例代码

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>发送AJAX请求</title>  <script class="lazy" data-src="js/vue.js"></script>  <script class="lazy" data-src="js/axios.min.js"></script>  <script>    window.onload=function(){      new Vue({        el:'#itany',        data:{          user:{            name:'alice',            age:19          },        },        methods:{          sendPost(){            // axios.post('server.php',{            //     name:'alice',            //     age:19            // }) //该方式发送数据是一个Request Payload的数据格式,一般的数据格式是Form Data格式,所有发送不出去数据            // axios.post('server.php','name=alice&age=20&') //方式1通过字符串的方式发送数据            axios.post('server.php',this.user,{ //方式2通过transformRequest方法发送数据,本质还是将数据拼接成字符串              transformRequest:[                function(data){                  let params='';                  for(let index in data){                    params+=index+'='+data[index]+'&';                  }                  return params;                }              ]            })            .then(resp => {              console.log(resp.data);            }).catch(err => {              console.log('请求失败:'+err.status+','+err.statusText);            });          },        }      });    }  </script></head><body>  <div id="itany">    <button @click="send">发送AJAX请求</button>    <button @click="sendGet">GET方式发送AJAX请求</button>  </div></body></html>

上面我们所介绍的vue发送ajax请求都是在同一域名下进行的也就是同域或者说是同源

那么vue如何发送跨域的ajax请求呢?

vue发送跨域ajax请求

1、须知:axios本身并不支持发送跨域的请求,没有提供相应的API,作者也暂没计划在axios添加支持发送跨域请求,所以只能使用第三方库

2、使用vue-resource发送跨域请求

3、 安装vue-resource并引入   

npm info vue-resource           #查看vue-resource 版本信息

cnpm install vue-resource -S #等同于cnpm install vue-resource -save

4、基本使用方法(使用this.$http发送请求)

this.$http.get(url, [options])

this.$http.head(url, [options])

this.$http.delete(url, [options])

this.$http.jsonp(url, [options])

this.$http.post(url, [body], [options])

this.$http.put(url, [body], [options])

this.$http.patch(url, [body], [options])

下面再来看两个实例

向360搜索发送数据

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <meta http-equiv="x-ua-compatible" content="IE=edge">  <meta name="viewport" content="width=device-width, initial-scale=1">  <title>发送AJAX请求</title>  <script class="lazy" data-src="js/vue.js"></script>  <script class="lazy" data-src="js/axios.js"></script>  <script class="lazy" data-src="js/vue-resource.js"></script></head><body><div id="itany">  <a>{{name}}</a>  <button v-on:click="send">sendJSONP</button></div></body><script>  new Vue({    el: '#itany',    data:{      name: 'alice',      age: 19          },    methods:{      send:function(){//        https://sug.so.360.cn/suggest?callback=suggest_so&encodein=utf-8&encodeout=utf-8&format=json&fields=word&word=a        this.$http.jsonp('https://sug.so.360.cn/suggest',          {params:{            word:'a'          }}        ).then(function (resp) {          console.log(resp.data)        })      }    }  })</script></html>

vue发送跨域ajax请求带jsonp参数

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <meta http-equiv="x-ua-compatible" content="IE=edge">  <meta name="viewport" content="width=device-width, initial-scale=1">  <title>发送AJAX请求</title>  <script class="lazy" data-src="js/vue.js"></script>  <script class="lazy" data-src="js/axios.js"></script>  <script class="lazy" data-src="js/vue-resource.js"></script></head><body><div id="itany">  <button v-on:click="send">向百度搜索发送JSONP请求</button></div></body><script>  new Vue({    el:'#itany',    data:{      name:'za'    },    methods:{      send:function () {        this.$http.jsonp('https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su',          {params:{wd:'a'},            jsonp:'cb', //百度使用的jsonp参数名为cb,所以需要修改,默认使用的是callbakc参数就不用修改          }).then(function (resp) {          console.log(resp.data)        }).catch(function (err) {          console.log(err)        })      }    }  })</script></html>

Vue作为一个没有入侵性的框架并不限制你使用ajax框架

使用了Vue后,ajax部分你可以做如下选择:

1.使用JS原生XHR接口

2.引入JQuery或者Zepto 使用$.ajax();

3.Vue的github上提供了vue-resource插件 :

4.使用 fetch.js

5.自己封装一个ajax库

Vue的优点

Vue具体轻量级框架、简单易学、双向数据绑定、组件化、数据和结构的分离、虚拟DOM、运行速度快等优势,Vue中页面使用的是局部刷新,不用每次跳转页面都要请求所有数据和dom,可以大大提升访问速度和用户体验。

感谢各位的阅读,以上就是“vue怎么发送ajax请求”的内容了,经过本文的学习后,相信大家对vue怎么发送ajax请求这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

vue怎么发送ajax请求

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

vue怎么发送ajax请求

这篇文章主要讲解了“vue怎么发送ajax请求”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue怎么发送ajax请求”吧!首页安装并引入axios1、npm install axios -
2023-07-04

javascript怎么发送ajax请求参数

这篇文章主要介绍“javascript怎么发送ajax请求参数”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“javascript怎么发送ajax请求参数”文章能帮助大家解决问题。先通过 JavaSc
2023-07-06

javascript发送ajax请求参数

JavaScript 是互联网上普遍使用的编程语言之一,可以用来为网站添加动态交互性。而 AJAX 是一种在不刷新整个页面的情况下,与服务器进行异步数据交换的技术。在很多网站上,我们都能够看到通过 AJAX 获取数据的例子。如何使用 JavaScript 发送 AJAX 请求并接收返回值?本文将为你介绍。发送 AJAX 请求的主要步骤包括:1. 创建 XMLHttpReques
2023-05-14

Vue通过axios发送ajax请求基础演示

这篇文章主要介绍了Vue通过axios发送ajax请求基础演示,包括了axios发送简单get请求,axiosget传参,axios发送post请求等基础代码演示需要的朋友可以参考下
2023-02-18

Vue怎么使用axios发送请求

本文小编为大家详细介绍“Vue怎么使用axios发送请求”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue怎么使用axios发送请求”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。例:当我们在APP组件的子组件
2023-07-05

ajax发送请求的方法是什么

Ajax发送请求的方法有多种,常见的有以下几种:1. XMLHttpRequest(XHR):最原始的Ajax方法,通过创建XMLHttpRequest对象来发送和接收数据。```javascriptvar xhr = new XMLHtt
2023-09-13

vue怎么发送请求到springboot程序

这篇文章主要介绍“vue怎么发送请求到springboot程序”,在日常操作中,相信很多人在vue怎么发送请求到springboot程序问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue怎么发送请求到spr
2023-07-06

Ajax请求发送成功但不进success怎么办

这篇文章主要介绍Ajax请求发送成功但不进success怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.情况描述:ajax发送成功,后台也成功响应请求,并返回了json数据,通过chrome监听请求也可以看到
2023-06-08

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录