详解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 10 Javascript
[全兼容哦]--实用、简洁、炫酷的页面转入效果loing
May 07 Javascript
一步一步教你写一个jQuery的插件教程(Plugin)
Sep 03 Javascript
Javascript 两个窗体之间传值实现代码
Sep 25 Javascript
jquery focus(fn),blur(fn)方法实例代码
Dec 16 Javascript
javascript中简单的进制转换代码实例
Oct 26 Javascript
Js 正则表达式知识汇总
Dec 02 Javascript
AngularJS实现根据变量改变动态加载模板的方法
Nov 04 Javascript
JS中利用localStorage防止页面动态添加数据刷新后数据丢失
Mar 10 Javascript
简单分析js中的this的原理
Aug 31 Javascript
vue导航栏部分的动态渲染实例
Nov 01 Javascript
在VUE style中使用data中的变量的方法
Jun 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
JAVA/JSP学习系列之六
2006/10/09 PHP
PHP session会话的安全性分析
2011/09/08 PHP
PHP实现Javascript中的escape及unescape函数代码分享
2015/02/10 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
2019/10/30 PHP
js DataSet数据源处理代码
2010/03/29 Javascript
基于Jquery的动态添加控件并取值的实现代码
2010/09/24 Javascript
超简单JS二级、多级联动的简单实例
2014/02/18 Javascript
ExtJS4给Combobox设置列表中的默认值示例
2014/05/02 Javascript
javascript实现详细时间提醒信息效果的方法
2015/03/11 Javascript
第三章之Bootstrap 表格与按钮功能
2016/04/25 Javascript
jQuery获取radio选中项的值实例
2016/06/18 Javascript
Google 地图获取API Key详细教程
2016/08/06 Javascript
JS正则表达式学习之贪婪和非贪婪模式实例总结
2016/12/26 Javascript
Bootstrap的popover(弹出框)在append后弹不出(失效)
2017/02/27 Javascript
jquery网页加载进度条的实现
2017/06/01 jQuery
微信小程序画布圆形进度条显示效果
2020/11/17 Javascript
解决vue热替换失效的根本原因
2018/09/19 Javascript
深入学习TypeScript 、React、 Redux和Ant-Design的最佳实践
2019/06/17 Javascript
基于javascript原生判断DOM是否加载完毕
2020/10/14 Javascript
Python字符串替换实例分析
2015/05/11 Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
2017/11/14 Python
PyCharm搭建Spark开发环境实现第一个pyspark程序
2019/06/13 Python
Django使用中间件解决前后端同源策略问题
2019/09/02 Python
Flask和pyecharts实现动态数据可视化
2020/02/26 Python
python实现简单井字棋小游戏
2020/03/05 Python
python生成xml时规定dtd实例方法
2020/09/21 Python
python 实现Requests发送带cookies的请求
2021/02/08 Python
Ticketmaster意大利:音乐会、节日、艺术和剧院的官方门票
2019/12/23 全球购物
化妆品店促销方案
2014/02/24 职场文书
总经理助理岗位职责范本
2014/07/20 职场文书
2014年药房工作总结
2014/11/22 职场文书
2015世界地球日活动总结
2015/02/09 职场文书
转正申请报告格式
2015/05/15 职场文书
“学党章、守党纪、讲党规”学习心得体会
2016/01/14 职场文书
毕业生自荐求职信书写的技巧
2019/08/26 职场文书
Golang 切片(Slice)实现增删改查
2022/04/22 Golang