详解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 相关文章推荐
简单的无缝滚动程序-仅几行代码
May 08 Javascript
jquery实现文本框鼠标右击无效以及不能输入的代码
Nov 05 Javascript
js中巧用cssText属性批量操作样式
Mar 13 Javascript
js 延迟加载 改变JS的位置加快网页加载速度
Dec 11 Javascript
javascript 中that的含义示例介绍
May 14 Javascript
jQuery多项选项卡的实现思路附样式及代码
Jun 03 Javascript
jQuery源码解读之hasClass()方法分析
Feb 20 Javascript
AngularJS 实现按需异步加载实例代码
Oct 18 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(二)之数据支持json字符串、list集合
Aug 11 Javascript
vuejs绑定class和style样式
Apr 11 Javascript
vue.js实现的幻灯片功能示例
Jan 18 Javascript
解决vue-pdf查看pdf文件及打印乱码的问题
Nov 04 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性能优化分析工具XDebug 大型网站调试工具
2011/05/22 PHP
CI框架学习笔记(一) - 环境安装、基本术语和框架流程
2014/10/26 PHP
PHP中文乱码解决方案
2015/03/05 PHP
php基于jquery的ajax技术传递json数据简单实例
2016/04/15 PHP
遍历指定目录,并存储目录内所有文件属性信息的php代码
2016/10/28 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
关于eval 与new Function 到底该选哪个?
2013/04/17 Javascript
将字符串中由空格隔开的每个单词首字母大写
2014/04/06 Javascript
jQuery中andSelf()方法用法实例
2015/01/08 Javascript
jQuery插件pagewalkthrough实现引导页效果
2015/07/05 Javascript
总结Javascript中数组各种去重的方法
2016/10/04 Javascript
Angular2-primeNG文件上传模块FileUpload使用详解
2017/01/14 Javascript
jQuery异步提交表单实例
2017/05/30 jQuery
基于vue.js无缝滚动效果
2018/01/25 Javascript
vue filters的使用详解
2018/06/11 Javascript
详谈js的变量提升以及使用方法
2018/10/06 Javascript
jQuery 操作 HTML 元素和属性的方法
2018/11/12 jQuery
解决layui动态添加的元素click等事件触发不了的问题
2019/09/20 Javascript
详解javascript void(0)
2020/07/13 Javascript
[01:32]2016国际邀请赛中国区预选赛IG战队首日赛后采访
2016/06/27 DOTA
[39:18]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第二场 12.17
2020/12/19 DOTA
使用wxpython实现的一个简单图片浏览器实例
2014/07/10 Python
Python如何import文件夹下的文件(实现方法)
2017/01/24 Python
HTML5 b和i标记将被赋予真正的语义
2009/07/16 HTML / CSS
HTML5仿微信聊天界面、微信朋友圈实例代码
2018/01/29 HTML / CSS
魅力惠奢品线上平台:MEI.COM
2016/11/29 全球购物
管理部部长岗位职责
2013/12/05 职场文书
全陪导游欢迎词
2014/01/17 职场文书
我的长生果教学反思
2014/04/28 职场文书
安全生产承诺书范文
2014/05/22 职场文书
关爱残疾人演讲稿
2014/05/24 职场文书
大雁塔导游词
2015/02/04 职场文书
以权谋私检举信范文
2015/03/02 职场文书
研究生导师推荐信
2015/03/25 职场文书
Python基本数据类型之字符串str
2021/07/21 Python
Python内置类型集合set和frozenset的使用详解
2022/04/26 Python