3-1 vue-resource基础介绍
1.静态引用
- <script src="https://cdn.bootcss.com/vue-resource/1.3.4/vue-resource.js"></script>
2.npm方式安装(推荐)
- $ npm install vue-resource --save
- -save 是指将包信息添加到 package.json 里的dependencies节点,表示发布时依赖的包。
- -save-dev 是指将包信息添加到 package.json 里的 devDependencies节点,表示开发时依赖的包。
3.七种请求API (详细介绍 : https://www.npmjs.com/package/vue-resource
- 1.this.$http.get(url, [options]);
- 2.this.$http.head(url, [options]);
- 3.this.$http.delete(url, [options]);
- 4.this.$http.jsonp(url, [options]);
- 5.this.$http.post(url, [body], [options]);
- 6.this.$http.put(url, [body], [options]);
- 7.this.$http.patch(url, [body], [options]);
4.参数
- url ==> 请求URL
- method ==> 请求HTTP方式
- body ==> request body
- params ==> 请求的URL参数对象
- headers ==> request header(第三方请求头注入的参数)
- timeout ==> 超时(0表示无超时时间)
- before ==> 请求发送前的处理函数
- progress ==> ProgressEvent回调处理函数
- credientials ==> 表示跨域请求是否需要使用凭证
- emulateHTTP ==> 发送PUT, PATCH, DELETE请求时以HTTP Post的方式发送, 并设置请求头的X-HTTP-Method-Override
- emulateJSON ==> 将request body以application/x-www-form-urlencoded content type发送
二.以下几种请求
1.Get请求
- new Vue({
- methods: {
- // http://192.168.17.112:8010/AlanMall/package.json?userId=101
- get: function(){
- this.$http.get("package.json", {
- // 参数一定写在params里
- params: {
- userId: "101"
- },
- // 请求头
- headers: {
- token: "adcd"
- }
- }).then(res => {
- this.msg = res.data;
- }, error => {
- this.msg = error;
- });
- }
- }
- })
2.Post请求
- methods: {
- // http://192.168.17.112:8010/AlanMall/package.json?userId=101
- post: function(){
- this.$http.post("package.json", {
- userId: "102"
- },{
- headers: {
- access_token: "post"
- }
- }).then(function(res){
- this.msg = res.data;
- }, function(res){
- this.msg = res.data;
- });
- }
- }
3.JSONP请求
- methods: {
- jsonp: function(){
- // http://www.imooc.com/course/AjaxCourseMembers?ids=796
- this.$http.jsonp("http://taoalan.com/json/alan.php", {
- jsonpCallback: "flightHandler"
- }).then(res =>{
- this.msg = res.data;
- }, error =>{
- this.msg = error
- });
- }
- }
要求传送的参数中一定要有特定的函数名,可以这样设置:
jsonp设置的是传callback的参数名,jsonpCallback是返回的函数名
- this.$http.jsonp(url, {
- params:params,
- jsonp: 'callBackParam',
- jsonpCallback: "getCallBack"
- })
4.vue-resource底层http
- new Vue({
- methods: {
- this.$http({
- url: "package.json",
- params: {
- urseId: "103",
- },
- headers: {
- token: "basehttp"
- },
- timeout: 5,
- before: function(){
- console.log("http before");
- }
- }).then(function(res){
- this.msg = res.data;
- })
- }
- })
4.全局拦截器 interceptors, 假如页面中有10个请求都有loading, 不可能10个请求中都写一个, 全局拦截器统一处理
- new Vue({
- mounted: function(){
- // 全局请求拦截
- Vue.http.interceptors.push(function(request, next){
- // 请求前
- console.log("request init.");
- // 请求后
- next(function(response){
- console.log("request complete.");
- return response;
- })
- })
- },
- http:{
- // 配置全局地址
- root: "http://taoalan.com/" // 公共地址
- }
- })
3-1 vue-resource基础介绍的更多相关文章
- [Vue入门及介绍,基础使用、MVVM架构、插值表达式、文本指令、事件指令]
[Vue入门及介绍,基础使用.MVVM架构.插值表达式.文本指令.事件指令] 1)定义:javascript渐进式框架 渐进式:可以控制一个页面的一个标签,也可以控制一系列标签,也可以控制整个页面 ...
- Node.js学习笔记(一)基础介绍
什么是Node.js 官网介绍: Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js us ...
- Node.js 基础介绍
什么是Node.js 官网介绍: Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js us ...
- Vue学习记录第一篇——Vue入门基础
前面的话 Vue中文文档写得很好,界面清爽,内容翔实.但文档毕竟不是教程,文档一上来出现了大量的新概念,对于新手而言,并不友好.个人还是比较喜欢类似于<JS高级程序设计>的风格,从浅入深, ...
- Vue组件基础用法
前面的话 组件(Component)是Vue.js最强大的功能之一.组件可以扩展HTML元素,封装可重用的代码.根据项目需求,抽象出一些组件,每个组件里包含了展现.功能和样式.每个页面,根据自己所需, ...
- Vue入门基础
前面的话 Vue中文文档写得很好,界面清爽,内容翔实.但文档毕竟不是教程,文档一上来出现了大量的新概念,对于新手而言,并不友好.个人还是比较喜欢类似于<JS高级程序设计>的风格,从浅入深, ...
- vue项目搭建介绍02
目录 vue项目搭建介绍02 python-pycharm设置: vue创建项目分类: vue-cli构建 自定义构建 基础的vue项目目录: vue项目搭建介绍02 python-pycharm设置 ...
- vue 快速入门 系列 —— vue 的基础应用(上)
其他章节请看: vue 快速入门 系列 vue 的基础应用(上) Tip: vue 的基础应用分上下两篇,上篇是基础,下篇是应用. 在初步认识 vue一文中,我们已经写了一个 vue 的 hello- ...
- vue 快速入门 系列 —— vue 的基础应用(下)
其他章节请看: vue 快速入门 系列 vue 的基础应用(下) 上篇聚焦于基础知识的介绍:本篇聚焦于基础知识的应用. 递归组件 组件是可以在它们自己的模板中调用自身的.不过它们只能通过 name 选 ...
- Web3D编程入门总结——WebGL与Three.js基础介绍
/*在这里对这段时间学习的3D编程知识做个总结,以备再次出发.计划分成“webgl与three.js基础介绍”.“面向对象的基础3D场景框架编写”.“模型导入与简单3D游戏编写”三个部分,其他零散知识 ...
随机推荐
- scala分析数据作图
参考网址:https://stackoverflow.com/questions/36984780/spark-shell-how-to-use-breeze-viz 刚开始按照网上的教程只导入了 两 ...
- UpdateData()用法
一.总结UpdateData()函数 UpdateData(true);//用于将屏幕上控件中的数据交换到变量中. UpdateData(false);//用于将数据在屏幕中对应控件中显示出来. ...
- 使用 StoryBoard 实现左右按钮切换图片的浏览效果
关键技能:使用故事板进行布局时,点击选中控件(组件)并按住 control 键向某个方向拖动,产生一条实线,然后弹出的窗口可以设置控件(组件)的布局约束条件:从而实现自动布局 AutoLayout 效 ...
- JUC回顾之-ArrayBlockingQueue底层实现和原理
ArrayBlockingQueue的原理和底层实现的数据结构 : ArrayBlockingQueue是数组实现的线程安全的有界的阻塞队列,可以按照 FIFO(先进先出)原则对元素进行排序. 线程安 ...
- linux echo命令提示权限不够的解决办法
该文章转载于此:http://blog.csdn.net/u010780613/article/details/51491237 问题描述: 在使用Ubuntu系统的时候,遇到这样的一个问题 ...
- springmvc+freemarker生成静态html文件
参考资料: http://mylfd.iteye.com/blog/1896501 http://www.cnblogs.com/xxt19970908/p/5553045.html 个人实践: 1. ...
- Sublime的插件Color Highlighter的安装方法
ColorHighlighter是一个显示选中颜色代码的视觉颜色的插件.如果您选择“# fff“,它将向您展示白色.ColorHighlighter支持所有CSS颜色格式,如Hex,RGB,HSL,H ...
- 项目管理PMP输入输出ITTO联系记忆
综述九大领域 项目管理的输入输出非常难记,原因在于理解起来也经不去推敲,故整理一个联想记忆版本,通过联想把输入输出都串起来达到记忆的目的,既然是联想,里面的内容逻辑只是为了好记,并无正确与否,请大家原 ...
- Objective-C语法之动态类型(isKindOfClass, isMemberOfClass,id)等
对象在运行时获取其类型的能力称为内省.内省可以有多种方法实现. 判断对象类型 -(BOOL) isKindOfClass: classObj 判断是否是这个类或者这个类的子类的实例/ 判断是否是这个类 ...
- WAF Bypass FUZZ小脚本
分享两个小脚本,用来WAF Bypass简单FUZZ的 第一个:先生成一个字典,带入搭建的环境进行FUZZ,针对某些软WAF挺好用的,可FUZZ出不少姿势出来,记得先把CC攻击加入白名单才行哦... ...