详解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 相关文章推荐
使用简洁的jQuery方法实现隔行换色功能
Jan 02 Javascript
jquery通过visible来判断标签是否显示或隐藏
May 08 Javascript
jquery实现滑动特效代码
Aug 10 Javascript
初步使用Node连接Mysql数据库
Mar 03 Javascript
AngularJS上拉加载问题解决方法
May 23 Javascript
jQuery通过ajax快速批量提交表单数据
Oct 25 Javascript
浅谈vue项目如何打包扔向服务器
May 08 Javascript
取消Bootstrap的dropdown-menu点击默认关闭事件方法
Aug 10 Javascript
JavaScript封装的常用工具类库bee.js用法详解【经典类库】
Sep 03 Javascript
vue项目打包之后背景样式丢失的解决方案
Jan 17 Javascript
详解小程序中h5页面onShow实现及跨页面通信方案
May 30 Javascript
VUE的history模式下除了index外其他路由404报错解决办法
Aug 21 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 feof用来识别文件末尾字符的方法
2010/08/01 PHP
使用PHP实现生成HTML静态页面
2015/11/18 PHP
PHP7新特性foreach 修改示例介绍
2016/08/26 PHP
PHP实现小偷程序实例
2016/10/31 PHP
php接口技术实例详解
2016/12/07 PHP
javascript倒计时功能实现代码
2012/06/07 Javascript
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
2014/07/29 Javascript
NodeJS学习笔记之Module的简介
2017/03/24 NodeJs
JS实现异步上传压缩图片
2017/04/22 Javascript
在 Node.js 中使用原生 ES 模块方法解析
2017/09/19 Javascript
详解webpack-dev-server使用方法
2018/09/14 Javascript
详解微信小程序之scroll-view的flex布局问题
2019/01/16 Javascript
小程序云开发获取不到数据库记录的解决方法
2019/05/18 Javascript
javascript获取select值的方法完整实例
2019/06/20 Javascript
JQuery中的常用事件、对象属性与使用方法分析
2019/12/23 jQuery
Vue实现仿iPhone悬浮球的示例代码
2020/03/13 Javascript
vue.js封装switch开关组件的操作
2020/10/26 Javascript
Vant 中的Toast设置全局的延迟时间操作
2020/11/04 Javascript
python list中append()与extend()用法分享
2013/03/24 Python
Python基类函数的重载与调用实例分析
2015/01/12 Python
在Python中移动目录结构的方法
2016/01/31 Python
keras 权重保存和权重载入方式
2020/05/21 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
2020/11/25 Python
CSS实现进度条和订单进度条的示例
2020/11/05 HTML / CSS
Nebula美国官网:便携式投影仪
2019/03/15 全球购物
俄罗斯奢侈品牌衣服、鞋子和配饰的在线商店:INTERMODA
2020/07/17 全球购物
介绍下WebSphere的安全性
2013/01/31 面试题
企业军训感言
2014/02/08 职场文书
2014道德模范事迹材料
2014/02/16 职场文书
就业协议书怎么填
2014/09/15 职场文书
党的群众路线整改落实情况汇报
2014/10/28 职场文书
教师党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
歌剧魅影观后感
2015/06/05 职场文书
承诺书的内容有哪些,怎么写?
2019/06/21 职场文书
Python中非常使用的6种基本变量的操作与技巧
2022/03/22 Python
win10电脑老是死机怎么办?win10系统老是死机的解决方法
2022/08/05 数码科技