详解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 私有成员分析
Jan 13 Javascript
用JavaScript实现单继承和多继承的简单方法
Mar 29 Javascript
jquery选择器使用详解
Apr 08 Javascript
使用JavaScript获取电池状态的方法
May 03 Javascript
浅谈Javascript 数组与字典
Jan 29 Javascript
创建自己的jquery表格插件
Nov 25 Javascript
基于jquery实现图片上传本地预览功能
Jan 08 Javascript
jQuery模拟360浏览器切屏效果幻灯片(附demo源码下载)
Jan 29 Javascript
Vue-Router进阶之滚动行为详解
Sep 13 Javascript
微信小程序下拉框搜索功能的实现方法
Jul 31 Javascript
jQuery实现简单三级联动效果
Sep 05 jQuery
小程序实现左滑删除的效果的实例代码
Oct 19 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 中检查或过滤IP地址的实现代码
2011/11/27 PHP
php 启动时报错的简单解决方法
2014/01/27 PHP
php使用preg_match()函数验证ip地址的方法
2017/01/07 PHP
XAMPP升级PHP版本实现步骤解析
2020/09/04 PHP
baidu博客的编辑友情链接的新的层窗口!经典~支持【FF】
2007/02/09 Javascript
js中将具有数字属性名的对象转换为数组
2011/03/06 Javascript
Js-$.extend扩展方法使方法参数更灵活
2013/01/15 Javascript
nodejs爬虫抓取数据乱码问题总结
2015/07/03 NodeJs
jQuery检测某个元素是否存在代码分享
2015/07/09 Javascript
举例讲解Node.js中的Writable对象
2015/07/29 Javascript
JS+CSS实现表格高亮的方法
2015/08/05 Javascript
BootStrap的双日历时间控件使用
2017/07/25 Javascript
vue-cli webpack2项目打包优化分享
2018/02/07 Javascript
web3.js增加eth.getRawTransactionByHash(txhash)方法步骤
2018/03/15 Javascript
javascript防抖函数debounce详解
2019/06/11 Javascript
js全屏事件fullscreenchange 实现全屏、退出全屏操作
2019/09/17 Javascript
原生js实现的观察者和订阅者模式简单示例
2020/04/18 Javascript
vue接口请求加密实例
2020/08/11 Javascript
跟老齐学Python之Python安装
2014/09/12 Python
Python使用matplotlib实现在坐标系中画一个矩形的方法
2015/05/20 Python
玩转python爬虫之URLError异常处理
2016/02/17 Python
Python实现以时间换空间的缓存替换算法
2016/02/19 Python
Python实现的选择排序算法示例
2017/11/29 Python
简单实现python收发邮件功能
2018/01/05 Python
把csv文件转化为数组及数组的切片方法
2018/07/04 Python
利用Python如何批量更新服务器文件
2018/07/29 Python
Python空间数据处理之GDAL读写遥感图像
2019/08/01 Python
Python定时任务随机时间执行的实现方法
2019/08/14 Python
浅谈盘点5种基于Python生成的个性化语音方法
2021/02/05 Python
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
2018/07/12 HTML / CSS
巴黎一票通:The Paris Pass
2018/02/10 全球购物
与C++相比,Java中的数组有什么不同
2014/03/25 面试题
学生爱国演讲稿
2014/01/14 职场文书
本科应届生求职信
2014/08/05 职场文书
2014年幼儿园教学工作总结
2014/12/04 职场文书
法院答辩状格式
2015/05/22 职场文书