详解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 相关文章推荐
实现复选框全选/全不选切换
Dec 23 Javascript
javascript函数作用域学习示例(js作用域)
Jan 13 Javascript
js设置function参数默认值(适合没有传参情况)
Feb 24 Javascript
JQuery实现防止退格键返回的方法
Feb 12 Javascript
javascript每日必学之封装
Feb 23 Javascript
JS小数运算出现多为小数问题的解决方法
Jun 02 Javascript
jQuery Ajax 异步加载显示等待效果代码分享
Aug 01 Javascript
原生js封装自定义滚动条
Mar 24 Javascript
详解require.js配置路径的用法和css的引入
Sep 06 Javascript
微信小程序滑动选择器的实现代码
Aug 10 Javascript
react ant Design手动设置表单的值操作
Oct 31 Javascript
uniapp开发打包多端应用完整方法指南
Dec 24 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用户注册页面填写信息完整实例(附源码)
2015/11/17 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
用javascript操作xml
2006/11/04 Javascript
JavaScript 面向对象之命名空间
2010/05/04 Javascript
使用javascript获取flash加载的百分比的实现代码
2011/05/25 Javascript
js播放wav文件(源码)
2013/04/22 Javascript
JavaScript跨平台的开源框架NativeScript
2015/03/24 Javascript
jQuery封装的tab选项卡插件分享
2015/06/16 Javascript
jQuery+CSS3折叠卡片式下拉列表框实现效果
2015/11/02 Javascript
php基于redis处理session的方法
2016/03/14 Javascript
javascript实现的猜数小游戏完整实例代码
2016/05/10 Javascript
AngularJS延迟加载html template
2016/07/27 Javascript
JQuery获取鼠标进入和离开容器的方向
2016/12/29 Javascript
JavaScript提高加载和执行效率的方法
2017/02/03 Javascript
浅谈js中function的参数默认值
2017/02/20 Javascript
JavaScript数据结构之二叉查找树的定义与表示方法
2017/04/12 Javascript
js实现关闭网页出现是否离开提示
2017/12/07 Javascript
从零开始用electron手撸一个截屏工具的示例代码
2018/10/10 Javascript
Vue防止白屏添加首屏动画的实例
2019/10/31 Javascript
koa2的中间件功能及应用示例
2020/03/05 Javascript
webpack 如何同时输出压缩和未压缩的文件的实现步骤
2020/06/05 Javascript
在vue项目中promise解决回调地狱和并发请求的问题
2020/11/09 Javascript
Python 执行字符串表达式函数(eval exec execfile)
2014/08/11 Python
使用Python压缩和解压缩zip文件的教程
2015/05/06 Python
wxPython窗体拆分布局基础组件
2019/11/19 Python
使用Python的networkx绘制精美网络图教程
2019/11/21 Python
如何用Python编写一个电子考勤系统
2021/02/08 Python
基础的CSS3弹性盒Flexbox布局使用实例
2016/04/08 HTML / CSS
详解CSS3新增的背景属性
2019/12/25 HTML / CSS
HTML5之SVG 2D入门10—滤镜的定义及使用
2013/01/30 HTML / CSS
详解移动端html5页面长按实现高亮全选文本内容的兼容解决方案
2016/12/03 HTML / CSS
html2 canvas生成清晰的图片实现打印功能
2019/09/23 HTML / CSS
萨克斯第五大道英国:Saks Fifth Avenue英国
2019/04/01 全球购物
洗手间标语
2014/06/23 职场文书
夫妻忠诚协议书范本
2014/11/17 职场文书
SQL Server2019安装的详细步骤实战记录(亲测可用)
2022/06/10 SQL Server