详解Vuejs2.0之异步跨域请求


Posted in Javascript onApril 20, 2017

Vuejs由1.0更新到了2.0版本。HTTP请求官方也从推荐使用Vue-Resoure变为了axios。接下来我们来简单地用axios进行一下异步请求。(阅读本文作者默认读者具有使用npm命令的能力,以及具备ES6的能力,以及等等。。。)

首先我们来安装Vue-Cli开发模板(这个模板可以快速生成vuejs的运行配置环境,可以使新手快速免除配置搭建出运行界面),这里我使用cnpm命令,请自行百度配置。

打开命令窗口:

cnpm install -g vue-cli

详解Vuejs2.0之异步跨域请求

等待片刻,即可安装完毕。

然后新建一个Vuejs项目

vue init webpack axiosproject

详解Vuejs2.0之异步跨域请求

切换到项目目录,执行命令:

cnpm install axios --save --dev

详解Vuejs2.0之异步跨域请求

最后执行命令安装项目所需依赖:

cnpm install

详解Vuejs2.0之异步跨域请求

稍等片刻,即可完成。现在我们来跑一下用Vue-Cli搭建出来的项目,执行命令:

cnpm run dev

自动浏览器自动弹出这个界面就说明上面的步骤我们成功实现了。

详解Vuejs2.0之异步跨域请求

接下来我才来真正的开始用编辑器来使用axios。打开VS Code(编辑器请自行用自己喜欢的,本人软粉,所以首选VS Code),我们来改造一下main.js入口文件

import Vue from 'vue'
import App from './App'
import axios from 'axios'
Vue.prototype.$http = axios;
/* eslint-disable no-new */
new Vue({
 el: '#app',
 template: '<App/>',
 components: { App }
})

详解Vuejs2.0之异步跨域请求

我们引用了axios,再将axios这个对象clone到Vue的$http这个属性上,以后我们就可以在其他组件里使用axios来进行 异步请求了。不多说了,我们最终的结果就是将请求的数据打印到浏览器控制台就算成功了。我使用的接口是本地模拟的,不过区别不大。这里特别说明一下关于跨域,跨域需要配置返回的请求头,在asp.core做如下处理,其他后端配置可以参照;

详解Vuejs2.0之异步跨域请求

这是Get接口返回在浏览器返回结果:

详解Vuejs2.0之异步跨域请求

好,接下来我们在Hello.vue这个组件里写一些脚本

<script>
export default {
 name: 'hello',
 data () {
 return {
  msg: 'Welcome to Your Vue.js App'
 }
 },
 created:function(){
 this.HelloAxios();
 },
 methods:{
 HelloAxios(){
  this.$http.get('http://localhost:54903/api/values').then(m=>console.log(m.data));
 }
 }
}
</script>

详解Vuejs2.0之异步跨域请求

至此我们完成了Get请求,接下来,我们完成Post请求

<script>
export default {
 name: 'hello',
 data () {
 return {
  msg: 'Welcome to Your Vue.js App'
 }
 },
 created:function(){
 this.HelloAxios();
 this.HelloAxiosPost('HelloAxiosPost');
 },
 methods:{
 HelloAxios(){
  this.$http.get('http://localhost:54903/api/values').then(m=>console.log(m.data));
 },
 HelloAxiosPost(val){
  let str = 'value='+val
  this.$http.post('http://localhost:54903/api/values',str).then(m=>console.log(m.data));
 }
 }
}
</script>

详解Vuejs2.0之异步跨域请求

结果如图,我们传的值'HelloAxiosPost'也打印出来了。有人可能会问

 详解Vuejs2.0之异步跨域请求

这里问什么要这么写,官方文档是这么写的

详解Vuejs2.0之异步跨域请求

亲测这样写不行。有兴趣的朋友可以自行测试。那我们再来说说为何是那个字符串

详解Vuejs2.0之异步跨域请求

查看chorme F12查看一下网络请求,发现我们请求的值就是Form Data。这样我们就可以拼接参数请求了,多参数格式为param1=value1¶m2=value2。

好了,至此本文结束了,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript学习笔记7 原型链的原理
Jan 11 Javascript
基于Jquery 解决Ajax请求的页面 浏览器后退前进功能,页面刷新功能实效问题
Dec 11 Javascript
jQuery实用基础超详细介绍
Apr 11 Javascript
javascript实现支持移动设备画廊
Aug 24 Javascript
javascript关于继承解析
May 10 Javascript
Javascript如何判断数据类型和数组类型
Jun 22 Javascript
JavaScript的==运算详解
Jul 20 Javascript
JS中绑定事件顺序(事件冒泡与事件捕获区别)
Jan 24 Javascript
利用jquery去掉时光轴头尾部线条的方法实例
Jun 16 jQuery
vue组件文档(.md)中如何自动导入示例(.vue)详解
Jan 25 Javascript
详解Vue之计算属性
Jun 20 Javascript
vue 授权获取微信openId操作
Nov 13 Javascript
bootstrap3 dialog 更强大、更灵活的模态框
Apr 20 #Javascript
angularjs过滤器--filter与ng-repeat配合有奇效
Apr 20 #Javascript
JS简单判断字符在另一个字符串中出现次数的2种常用方法
Apr 20 #Javascript
bootstrap常用组件之头部导航实现代码
Apr 20 #Javascript
基于JavaScript实现活动倒计时效果
Apr 20 #Javascript
微信小程序-横向滑动scroll-view隐藏滚动条
Apr 20 #Javascript
jquery将标签元素的高设为屏幕的百分比
Apr 19 #jQuery
You might like
PHP中PDO的错误处理
2011/09/04 PHP
PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
2013/06/25 PHP
PHP查找数值数组中不重复最大和最小的10个数的方法
2015/04/20 PHP
php验证邮箱和ip地址最简单方法汇总
2015/10/30 PHP
php操作redis命令及代码实例大全
2020/11/19 PHP
JavaScript表单常用验证集合
2008/01/16 Javascript
html数组字符串拼接的最快方法
2009/09/16 Javascript
jQuery 类twitter的文本字数限制带提示效果插件
2010/04/16 Javascript
jQuery 源码分析笔记(3) Deferred机制
2011/06/19 Javascript
JS数学函数Exp使用说明
2012/08/09 Javascript
JavaScript实现在标题栏上显示当前日期的方法
2015/03/19 Javascript
js实现统计字符串中特定字符出现个数的方法
2016/08/02 Javascript
Javascript中关于Array.filter()的妙用详解
2016/12/04 Javascript
详解ECMAScript6入门--Class对象
2017/04/27 Javascript
详解Chart.js轻量级图表库的使用经验
2018/05/22 Javascript
小程序视频列表中视频的播放与停止的示例代码
2018/07/20 Javascript
three.js实现圆柱体
2018/12/30 Javascript
微信小程序实现搜索历史功能
2020/03/26 Javascript
vue设置一开始进入的页面教程
2019/10/28 Javascript
JS动态图片的实现方法完整示例
2020/01/13 Javascript
python字典序问题实例
2014/09/26 Python
python版本坑:md5例子(python2与python3中md5区别)
2017/06/20 Python
解决Python 中英文混输格式对齐的问题
2018/07/16 Python
用Pycharm实现鼠标滚轮控制字体大小的方法
2019/01/15 Python
python模拟鼠标点击和键盘输入的操作
2019/08/04 Python
python批量将excel内容进行翻译写入功能
2019/10/10 Python
wxpython绘制音频效果
2019/11/18 Python
Python如何安装第三方模块
2020/05/28 Python
python 窃取摄像头照片的实现示例
2021/01/08 Python
世界上最大的艺术和工艺用品商店:MisterArt.com
2018/07/13 全球购物
高校优秀辅导员事迹材料
2014/05/07 职场文书
农业开发项目建议书
2014/05/16 职场文书
电子商务专业自荐信
2014/06/02 职场文书
能让Python提速超40倍的神器Cython详解
2021/06/24 Python
SQL SERVER存储过程用法详解
2022/02/24 SQL Server
Android移动应用开发指南之六种布局详解
2022/09/23 Java/Android