1.静态引用

  1. <script src="https://cdn.bootcss.com/vue-resource/1.3.4/vue-resource.js"></script>

2.npm方式安装(推荐)

  1. $ npm install vue-resource --save
  2. -save 是指将包信息添加到 package.json 里的dependencies节点,表示发布时依赖的包。
  3. -save-dev 是指将包信息添加到 package.json 里的 devDependencies节点,表示开发时依赖的包。

3.七种请求API  (详细介绍 : https://www.npmjs.com/package/vue-resource

  1. 1.this.$http.get(url, [options]);
  2. 2.this.$http.head(url, [options]);
  3. 3.this.$http.delete(url, [options]);
  4. 4.this.$http.jsonp(url, [options]);
  5. 5.this.$http.post(url, [body], [options]);
  6. 6.this.$http.put(url, [body], [options]);
  7. 7.this.$http.patch(url, [body], [options]);

4.参数

  1. url ==> 请求URL
  2. method ==> 请求HTTP方式
  3. body ==> request body
  4. params ==> 请求的URL参数对象
  5. headers ==> request header(第三方请求头注入的参数)
  6. timeout ==> 超时(0表示无超时时间)
  7. before ==> 请求发送前的处理函数
  8. progress ==> ProgressEvent回调处理函数
  9. credientials ==> 表示跨域请求是否需要使用凭证
  10. emulateHTTP ==> 发送PUT, PATCH, DELETE请求时以HTTP Post的方式发送, 并设置请求头的X-HTTP-Method-Override
  11. emulateJSON ==> request bodyapplication/x-www-form-urlencoded content type发送

二.以下几种请求

1.Get请求

  1. new Vue({
  2. methods: {
  3. // http://192.168.17.112:8010/AlanMall/package.json?userId=101
  4. get: function(){
  5. this.$http.get("package.json", {
  6. // 参数一定写在params里
  7. params: {
  8. userId: "101"
  9. },
  10. // 请求头
  11. headers: {
  12. token: "adcd"
  13. }
  14. }).then(res => {
  15. this.msg = res.data;
  16. }, error => {
  17. this.msg = error;
  18. });
  19. }
  20. }
  21. })

2.Post请求

  1. methods: {
  2. // http://192.168.17.112:8010/AlanMall/package.json?userId=101
  3. post: function(){
  4. this.$http.post("package.json", {
  5. userId: "102"
  6. },{
  7. headers: {
  8. access_token: "post"
  9. }
  10. }).then(function(res){
  11. this.msg = res.data;
  12. }, function(res){
  13. this.msg = res.data;
  14. });
  15. }
  16. }

3.JSONP请求

  1. methods: {
  2. jsonp: function(){
  3. // http://www.imooc.com/course/AjaxCourseMembers?ids=796
  4. this.$http.jsonp("http://taoalan.com/json/alan.php", {
  5. jsonpCallback: "flightHandler"
  6. }).then(res =>{
  7. this.msg = res.data;
  8. }, error =>{
  9. this.msg = error
  10. });
  11. }
  12. }

要求传送的参数中一定要有特定的函数名,可以这样设置:
jsonp设置的是传callback的参数名,jsonpCallback是返回的函数名

  1. this.$http.jsonp(url, {
  2. params:params,
  3. jsonp: 'callBackParam',
  4. jsonpCallback: "getCallBack"
  5. })

4.vue-resource底层http

  1. new Vue({
  2. methods: {
  3. this.$http({
  4. url: "package.json",
  5. params: {
  6. urseId: "103",
  7. },
  8. headers: {
  9. token: "basehttp"
  10. },
  11. timeout: 5,
  12. before: function(){
  13. console.log("http before");
  14. }
  15. }).then(function(res){
  16. this.msg = res.data;
  17. })
  18. }
  19. })

4.全局拦截器 interceptors, 假如页面中有10个请求都有loading, 不可能10个请求中都写一个, 全局拦截器统一处理

  1. new Vue({
  2. mounted: function(){
  3. // 全局请求拦截
  4. Vue.http.interceptors.push(function(request, next){
  5. // 请求前
  6. console.log("request init.");
  7.  
  8. // 请求后
  9. next(function(response){
  10. console.log("request complete.");
  11. return response;
  12. })
  13. })
  14. },
  15. http:{
  16. // 配置全局地址
  17. root: "http://taoalan.com/" // 公共地址
  18. }
  19. })

3-1 vue-resource基础介绍的更多相关文章

  1. [Vue入门及介绍,基础使用、MVVM架构、插值表达式、文本指令、事件指令]

    [Vue入门及介绍,基础使用.MVVM架构.插值表达式.文本指令.事件指令] 1)定义:javascript渐进式框架 ​ 渐进式:可以控制一个页面的一个标签,也可以控制一系列标签,也可以控制整个页面 ...

  2. Node.js学习笔记(一)基础介绍

    什么是Node.js 官网介绍: Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js us ...

  3. Node.js 基础介绍

    什么是Node.js 官网介绍: Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js us ...

  4. Vue学习记录第一篇——Vue入门基础

    前面的话 Vue中文文档写得很好,界面清爽,内容翔实.但文档毕竟不是教程,文档一上来出现了大量的新概念,对于新手而言,并不友好.个人还是比较喜欢类似于<JS高级程序设计>的风格,从浅入深, ...

  5. Vue组件基础用法

    前面的话 组件(Component)是Vue.js最强大的功能之一.组件可以扩展HTML元素,封装可重用的代码.根据项目需求,抽象出一些组件,每个组件里包含了展现.功能和样式.每个页面,根据自己所需, ...

  6. Vue入门基础

    前面的话 Vue中文文档写得很好,界面清爽,内容翔实.但文档毕竟不是教程,文档一上来出现了大量的新概念,对于新手而言,并不友好.个人还是比较喜欢类似于<JS高级程序设计>的风格,从浅入深, ...

  7. vue项目搭建介绍02

    目录 vue项目搭建介绍02 python-pycharm设置: vue创建项目分类: vue-cli构建 自定义构建 基础的vue项目目录: vue项目搭建介绍02 python-pycharm设置 ...

  8. vue 快速入门 系列 —— vue 的基础应用(上)

    其他章节请看: vue 快速入门 系列 vue 的基础应用(上) Tip: vue 的基础应用分上下两篇,上篇是基础,下篇是应用. 在初步认识 vue一文中,我们已经写了一个 vue 的 hello- ...

  9. vue 快速入门 系列 —— vue 的基础应用(下)

    其他章节请看: vue 快速入门 系列 vue 的基础应用(下) 上篇聚焦于基础知识的介绍:本篇聚焦于基础知识的应用. 递归组件 组件是可以在它们自己的模板中调用自身的.不过它们只能通过 name 选 ...

  10. Web3D编程入门总结——WebGL与Three.js基础介绍

    /*在这里对这段时间学习的3D编程知识做个总结,以备再次出发.计划分成“webgl与three.js基础介绍”.“面向对象的基础3D场景框架编写”.“模型导入与简单3D游戏编写”三个部分,其他零散知识 ...

随机推荐

  1. scala分析数据作图

    参考网址:https://stackoverflow.com/questions/36984780/spark-shell-how-to-use-breeze-viz 刚开始按照网上的教程只导入了 两 ...

  2. UpdateData()用法

    一.总结UpdateData()函数 UpdateData(true);//用于将屏幕上控件中的数据交换到变量中. UpdateData(false);//用于将数据在屏幕中对应控件中显示出来.    ...

  3. 使用 StoryBoard 实现左右按钮切换图片的浏览效果

    关键技能:使用故事板进行布局时,点击选中控件(组件)并按住 control 键向某个方向拖动,产生一条实线,然后弹出的窗口可以设置控件(组件)的布局约束条件:从而实现自动布局 AutoLayout 效 ...

  4. JUC回顾之-ArrayBlockingQueue底层实现和原理

    ArrayBlockingQueue的原理和底层实现的数据结构 : ArrayBlockingQueue是数组实现的线程安全的有界的阻塞队列,可以按照 FIFO(先进先出)原则对元素进行排序. 线程安 ...

  5. linux echo命令提示权限不够的解决办法

    该文章转载于此:http://blog.csdn.net/u010780613/article/details/51491237 问题描述:      在使用Ubuntu系统的时候,遇到这样的一个问题 ...

  6. springmvc+freemarker生成静态html文件

    参考资料: http://mylfd.iteye.com/blog/1896501 http://www.cnblogs.com/xxt19970908/p/5553045.html 个人实践: 1. ...

  7. Sublime的插件Color Highlighter的安装方法

    ColorHighlighter是一个显示选中颜色代码的视觉颜色的插件.如果您选择“# fff“,它将向您展示白色.ColorHighlighter支持所有CSS颜色格式,如Hex,RGB,HSL,H ...

  8. 项目管理PMP输入输出ITTO联系记忆

    综述九大领域 项目管理的输入输出非常难记,原因在于理解起来也经不去推敲,故整理一个联想记忆版本,通过联想把输入输出都串起来达到记忆的目的,既然是联想,里面的内容逻辑只是为了好记,并无正确与否,请大家原 ...

  9. Objective-C语法之动态类型(isKindOfClass, isMemberOfClass,id)等

    对象在运行时获取其类型的能力称为内省.内省可以有多种方法实现. 判断对象类型 -(BOOL) isKindOfClass: classObj 判断是否是这个类或者这个类的子类的实例/ 判断是否是这个类 ...

  10. WAF Bypass FUZZ小脚本

    分享两个小脚本,用来WAF Bypass简单FUZZ的 第一个:先生成一个字典,带入搭建的环境进行FUZZ,针对某些软WAF挺好用的,可FUZZ出不少姿势出来,记得先把CC攻击加入白名单才行哦... ...