详解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 setAttribute, getAttribute 在不同浏览器上的不同表现
Aug 05 Javascript
node.js中的fs.renameSync方法使用说明
Dec 16 Javascript
js实现仿网易点击弹出提示同时背景变暗效果
Aug 13 Javascript
全面了解JavaScript对象进阶
Jul 19 Javascript
Javascript数组中push方法用法分析
Oct 31 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
Dec 20 Javascript
详解vue前后台数据交互vue-resource文档
Jul 19 Javascript
js+css实现打字效果
Jun 24 Javascript
vue如何判断dom的class
Apr 26 Javascript
LayUi数据表格自定义赋值方式
Oct 26 Javascript
JavaScript动画实例之粒子文本的实现方法详解
Jul 28 Javascript
Vue实现下拉加载更多
May 09 Vue.js
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
全国FM电台频率大全 - 8 黑龙江省
2020/03/11 无线电
个人站长制做网页常用的php代码
2007/03/03 PHP
用PHP连接MySQL代码的参数说明
2008/06/07 PHP
php通过array_shift()函数移除数组第一个元素的方法
2015/03/18 PHP
PHP随机生成信用卡卡号的方法
2015/03/23 PHP
详解PHP实现定时任务的五种方法
2016/07/25 PHP
PHP基于SimpleXML生成和解析xml的方法示例
2017/07/17 PHP
PHP中检查isset()和!empty()函数的必要性
2019/02/13 PHP
php7 list()、session及其他模块的修改实例分析
2020/05/25 PHP
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
2007/02/09 Javascript
JQuery循环滚动图片代码
2011/12/08 Javascript
js iframe跨域访问(同主域/非同主域)分别深入介绍
2013/01/24 Javascript
js简单倒计时实现代码
2016/04/30 Javascript
浅谈JavaScript 覆盖原型以及更改原型
2016/08/31 Javascript
详解HTML5 使用video标签实现选择摄像头功能
2017/10/25 Javascript
javascript函数的节流[throttle]与防抖[debounce]
2017/11/15 Javascript
使用axios实现上传图片进度条功能
2017/12/21 Javascript
vue获取dom元素注意事项
2017/12/28 Javascript
微信小程序实现手指触摸画板
2018/07/09 Javascript
JS使用队列对数组排列,基数排序算法示例
2019/03/02 Javascript
layui prompt 设置允许空白提交的方法
2019/09/24 Javascript
layui清除radio的选中状态实例
2019/11/14 Javascript
angularjs模态框的使用代码实例
2019/12/20 Javascript
vue 使用 sortable 实现 el-table 拖拽排序功能
2020/12/26 Vue.js
Python文件右键找不到IDLE打开项解决办法
2015/06/08 Python
深入浅析ImageMagick命令执行漏洞
2016/10/11 Python
Python使用文件锁实现进程间同步功能【基于fcntl模块】
2017/10/16 Python
python中plt.imshow与cv2.imshow显示颜色问题
2020/07/16 Python
实例教程 纯CSS3打造非常炫的加载动画效果
2014/11/05 HTML / CSS
全球最大最受欢迎的旅游社区:Tripadvisor
2017/11/03 全球购物
个人简历自我评价八例
2013/10/31 职场文书
班队活动设计方案
2014/01/30 职场文书
师范学院教师自荐书
2014/01/31 职场文书
志愿者服务感言
2014/02/27 职场文书
交通工程专业推荐信
2014/09/06 职场文书
weblogic服务建立数据源连接测试更新mysql驱动包的问题及解决方法
2022/01/22 MySQL