详解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学习笔记(八)正则表达式
Oct 08 Javascript
javascript日期操作详解(脚本之家整理)
Sep 05 Javascript
node.js中 stream使用教程
Aug 28 Javascript
js 判断数据类型的几种方法
Jan 13 Javascript
vue中mint-ui环境搭建详细介绍
Apr 06 Javascript
vue中的scope使用详解
Oct 29 Javascript
详解webpack 入门与解析
Apr 09 Javascript
详解javascript中的babel到底是什么
Jun 21 Javascript
jQuery实现购物车的总价计算和总价传值功能
Nov 28 jQuery
js实现div色块拖动录制
Jan 16 Javascript
JS时间戳与日期格式互相转换的简单方法示例
Jan 30 Javascript
nuxt.js 在middleware(中间件)中实现路由鉴权操作
Nov 06 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生成动态验证码gif图片
2015/10/19 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
PHP测试框架PHPUnit组织测试操作示例
2018/05/28 PHP
JavaScript 中的事件教程
2007/04/05 Javascript
Javascript面向对象编程(三) 非构造函数的继承
2011/08/28 Javascript
Js 回车换行处理的办法及replace方法应用
2013/01/24 Javascript
jquery通过扩展select控件实现支持enter或focus选择的方法
2015/11/19 Javascript
JS使用JSON作为参数实例分析
2016/06/23 Javascript
js canvas实现擦除效果示例代码
2017/04/26 Javascript
基于ES6作用域和解构赋值详解
2017/11/03 Javascript
JavaScrip关于创建常量的知识点
2017/12/07 Javascript
微信小程序实现点击卡片 翻转效果
2019/09/04 Javascript
Vue实现剪贴板复制功能
2019/12/31 Javascript
vue实现简易计算器功能
2021/01/20 Vue.js
基于JavaScript实现随机点名器
2021/02/25 Javascript
[41:12]Liquid vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.24
2019/09/10 DOTA
在IIS服务器上以CGI方式运行Python脚本的教程
2015/04/25 Python
利用python3随机生成中文字符的实现方法
2017/11/24 Python
Python将多个list合并为1个list的方法
2018/06/27 Python
win10 64bit下python NLTK安装教程
2018/09/19 Python
对python读取CT医学图像的实例详解
2019/01/24 Python
Python3 实现减少可调用对象的参数个数
2019/12/20 Python
tensorflow常用函数API介绍
2020/04/19 Python
基于Python实现视频的人脸融合功能
2020/06/12 Python
Canvas 文字碰撞检测并抽稀的方法
2019/05/27 HTML / CSS
Blancsom美国/加拿大:服装和生活用品供应商
2018/07/27 全球购物
美国球迷装备的第一来源:FOCO
2020/07/03 全球购物
英国专业美容产品在线:Mylee(从指甲到脱毛)
2020/07/06 全球购物
《小池塘》教学反思
2014/02/28 职场文书
行政助理工作职责范本
2014/03/04 职场文书
租房协议书
2014/09/12 职场文书
考试作弊被抓检讨书
2014/10/02 职场文书
四风对照检查剖析材料
2014/10/07 职场文书
导游词之金鞭溪风景区
2019/09/12 职场文书
python 进阶学习之python装饰器小结
2021/09/04 Python