vue-resource promise兼容性问题

Vue.js Ajax(vue-resource)详解 是一个基于Promise的HTTP客户端,用于在Vue.js应用程序中发送HTTP请求。它支持GET、POST、PUT、DELETE等多种请求方法,并且能够处理JSON数据。基于Promise,便于链式调用支持拦截器,方便统一处理请求和响应支持请求和响应的转换支持请求和响应的缓存支持JSONP请求本文详细介绍了Vue.js中如何使用进行Ajax请求。通过本文的学习,读者可以掌握如何发送GET、POST、PUT、DELETE等请求,并能够根据实际需求进行相应的处理。希望本文对读者有所帮助。 阅读详情

一、Vue Resource如何使用?

大家都知道,我们在vue项目经常这样使用vue-resource

1.安装

npm install vue-resource --save

注:--save和--save-dev的区别就是,如果该npm包的代码需要被打包到上线文件,那就--save安装;否则就以--save-dev安装

2.初始化(在入口文件main.js文件中)

1 import Vue from 'vue'
2 import VueResource from 'vue-resource'
3 // 通过Vue.use使用vue-resource,然后$http对象就被添加到每个组件实例上了
4 Vue.use(VueResource)

3.使用(在组件内)


1 this.$http.get(url, {}).then(function (response) {
2   response.json().then(function(res) {
3       // 这里是请求成功后的代码逻辑
4   })
5 }, function (error) {
6       // 这里是请求失败后的代码逻辑
7       console.log(error)
8 })

 

二、问题

但实际在安卓低版本中会出现这个问题

1 this.$http.get(url, {}).then(function (response) {
2   // 无论是成功还是失败,then中的代码是不会被执行的
3   response.json().then(function(res) {
4       // 不执行
5   })
6 }, function (error) {
7       // 也不执行
8       console.log(error)
9 })

为何?其实vue-resource采用了ES6 Promise新特性(如何知道的?即使没看过vue-resource的官方文档,我们也可以知道,因为this.$http.get后面直接链式调用了then,then是Promise对象实例的方法,还记得不?),然后Promise本来就是有兼容性问题的,这就是问题的根本原因,那如何解决呢

 

三、解决方案

es6-promise可以解决这个问题,如何使用?很简单,看下面的代码

1.安装(安装到dependencies中)

npm install es6-promise --save

2.在入口文件main.js中引入使用

1 import Vue from 'vue'
2 import VueResource from 'vue-resource'
3 // cmd方式
4 require('es6-promise').polyfill()
5 // ES6模块方式
6 import Es6Promise from 'es6-promise'
7 Es6Promise.polyfill()
Vue兼容性与解决方法 Vue.js提供了一个官方的Polyfill库,名为"vue-cli-plugin-babel-polyfill",你可以将其集成到你的项目中,以提供对旧版IE的兼容性支持。Vue.js提供了一个官方的Polyfill库,名为"vue-cli-plugin-babel-polyfill",你可以将其集成到你的项目中,以提供对旧版IE的兼容性支持。警告或降级处理:如果你的应用程序对旧版IE的兼容性要求不高,你可以选择在不支持的浏览器上显示警告信息,或者降级到一些基本功能。 阅读详情

相关推荐

vscode+latex+bib文献管理

下载vscode 安装插件`` 在setting.json中配置 在.tex文件中编写论文内容,然后左侧TEX侧边栏中编译,如下图所示,中文用xelatex,英文用pdflatex;编译成功后,就可以查看pdf版本的论文了,我一般在浏览器显示。 涉及到文献编译:XXX.bib中存储文献管理内容;XXX.tex是文章内容,使用xelatex编译后会生成XXX.aux,ctrl+⋅ctrl+·ctrl+⋅打开命令行窗口,输入bibtex XXX(可以对aux文件进行编译,不需要加后缀),然后再xelatex.

小卜妞的博客 2548

前端笔记Vue项目day4(八)

async和 await async作为一个关键字放到函数前面 任何一个async函数都会隐式返回一个promise await关键字只能在使用async定义的函数中使用 ​ await后面可以直接跟一个 Promise实例对象 ​ await函数不能单独使用 async/await 让异步代码看起来...

czbkzmj的博客 715

瑞萨 RL78 开发环境实战:从 CS+ for CC 到 e² studio 高效开发

本文详细介绍了瑞萨RL78单片机开发环境的选择与配置,对比分析了CS+ for CC和e² studio的特点及适用场景。内容涵盖环境安装、工程创建、调试技巧、外设驱动开发和低功耗设计等实战经验,为开发者提供全面的RL78入门指南,帮助快速上手并高效开发。

4k5l6j7h8的博客 247

vue中Promise的用法

简介 promise是什么,它可以说是异步编程的一种解决方法,就拿传统的ajax发请求来说,单个还好,如果是一个请求回来的数据还要被其他请求调用,不断地嵌套,可想而知,代码看起来是很乱的,promise主要是为了解决这种情景而出现的。 使用 promise是一种异步解决方案。 由于ajax异步方式请求数据时,我们不能知道数据具体回来的事件,所以过去只能将一个callback函数传递给ajax封装的方法,当ajax异步请求完成时,执行callback函数。 promise对象接受resolve和reject

kuokay的博客 2万+

深度学习(Deep Learning, DL)简介

深度学习(Deep Learning, DL)是机器学习的一个子领域,主要使用多层神经网络来处理复杂的数据和任务。深度学习通过模拟人脑的神经网络结构,能够自动提取特征并进行高效的模式识别和预测。

qq_28791753的博客 1万+

【深度学习】最强算法之:残差网络(ResNet)

一篇掌握深度学习算法之:残差网络

商务合作 | 面试培训 | 职场规划 ==>主页扫码 7839

【vue】浏览器兼容相关

Vue.js 3.x 更加关注现代浏览器,而 Vue.js 2.x 则提供了更广泛的浏览器支持。如果你的应用需要支持较旧的浏览器,可以选择 Vue.js 2.x 或者在 Vue.js 3.x 中使用适当的配置来实现兼容性。Vue.js 是一个流行的前端 JavaScript 框架,它支持构建单页应用和复杂的用户界面。如果你使用的是 Vue CLI 创建的项目,可以通过修改 babel.config.js 文件来配置 Babel 转译规则。使用 Babel 转译 ES6+ 代码。使用 polyfills。

weixin_47351913的博客 3827

【AI大模型】角色设定:给模型定身份的高效使用方法

摘要: AI大模型角色设定(RolePrompting)是提示词工程的核心优化技巧,通过赋予模型特定职业、领域和风格约束,显著提升输出专业度与适配性。文章系统拆解了角色设定的原理、万能公式(领域+身份+技能+风格+场景)、三级分层写法(基础/进阶/专家),并提供10类高频场景的模板。通过无角色与有角色输出的对比实验(Python代码量化验证),证明角色设定可使模型综合得分提升35%以上,尤其优化场景适配度与风格统一性。该技巧作为高阶提示词(如CoT、Few-Shot)的前置模块,能以零成本实现AI输出的专业

unber的博客 50

elementui在ie9浏览器下的兼容性问题及解决方法

1、el-select组件内在IE9中会出现下图样式错乱,解决办法: //select框固定下拉箭头兼容ie9 .el-select.el-input.el-input__suffix.el-icon-arrow-up{ -ms-transform:rotate(180deg)\0; } 2、IE9中elementui的message提示框会出现样式错乱,解决方法:...

如影随风 1万+

西南科技大学模拟电子技术实验七(集成运算放大器的非线性应用)预习报告

将电位器Rp调至中心位置,用双综示波器观察并绘制方波U0的波形,测量其幅值和频率;将电位器RP调至中心位置,用示波器观察并绘制锯齿波U0的波形,记录;示波器基线调零,Ui输入1000HZ、幅值为2V的正弦信号,观察并记录Ui与U0波形,读出图中波形跳变时的Ui临界值;用万用表电位器RP调至预测结果位置,用示波器观察并描绘三角波输出U0及方波输出uo’,测其幅值、频率及Rp值,记录之。示波器基线调零,U输入1000HZ、幅值为2V的正弦信号,观察UI与U0波形。理论算法公式:当Ui

Welcome To My6n Blog 3937

第三节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入门 - 对接后端登录接口(上)

这里是Vben Admin V5版本实战体验,上一节我们前端已正常运行,但是没有实现登录。本节的重点是对接后端接口。上一节地址:第一节:Vben Admin 最新 v5.0初体验第二节:Vben Admin 登录逻辑梳理和对接后端准备后端我们采用Python的Flask项目,Flask-SQLAlchemy管理数据库模型,Flask-Migrate进行模型迁移。参考版本如下:Flask3.0.23.1.1到这里,登录接口完成,下一步要实现获取用户信息和权限的接口功能。

cuiwin的专栏 1864

vue-resource中的Promise对象

vue-resource基本HTTP调用和RESTful调用action方法执行后都会返回一个Promise对象,该Promise对象提供了then、catch、finally等常用方法来注册回调函数。代码示例如下: var promise=this.$http.post( 'http://example.com/book/create', //请求体中要发送给服务端的数据 { ...

wunianisme的博客 350

在Simulink中构建感应电机的时滞补偿控制模型,并通过仿真验证不同补偿策略的有效性

核心优势Smith预估器可有效补偿已知时滞,提升系统稳定性。动态PID调整适用于时变时滞的初步补偿。扩展方向自适应时滞估计:结合Luenberger观测器实时估计时滞。鲁棒控制:引入H∞控制或滑模控制抑制参数不确定性。网络化时滞补偿:结合知识库[2]的网络延迟模型,实现端到端补偿。

amy_mhd的博客 190

VueJS ajax

VueJS ajax 1. vue-resource vue-resource是Vue.js的插件提供了使用XMLHttpRequest或JSONP进行Web请求和处理响应的服务。 当vue更新到2.0之后,作者就宣告不再对vue-resource更新,而是推荐的axios,在这里大家了解一下vue-resource就可以。 vue-resource的github: https://gith...

少营营的博客 352

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

vue-resource与axios的区别与使用

目录一、vue-resource1.vue-resource的安装2.在main.js中导入2.使用vue-resource发送请求二、axios1.安装axios2.使用axios发送请求 一、vue-resource vue-resource是Vue.js的一款插件,它可以通过XMLHttpRequest或JSONP发起请求并处理响应。 vue-resource插件具有以下特点: 1.体积小 vue-resource非常小巧,在压缩以后只有大约12KB,服务端启用gzip压缩后只有4.5KB大小,这远

wl516372370的博客 5309

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

vue学习之vue-resource

在学习vue的过程中,初期vue只是起到了UI操作的功能,数据请求都是通过jQuery的ajax来处理, 总觉的怪怪的,大家都在盛传vue有多么的强大,一番搜索之后发现,vue也有异步请求的插件, 本文简单介绍下vue-resource,闲话少说上菜 vue-resource 特点 1. 体积小 vue-resource非常小巧,在压缩以后只有大约12KB,服务端启用gzip

zxw305的博客 1178

Vue-resource和axios区别

在Vue项目中前后端交互时,早期的Vue版本使用Vue-resource插件从后台获取数据。从Vue2.0之后就不再对vue-resource进行更新,而是推荐使用axios. vue-resource Vue.js的插件提供了使用XMLHttpRequest 或 JSONP进行Web请求和处理响应的服务。vue-resource像jQuery的$,ajax,用来进行数据交互。主要用于发送aja...

LM 6385

vue-resource调用promise取数据方式整理

用了好久的vue-resource,好像每一次使用的时候,都要去看一下上一次是怎么写的,具体的语法过不了多久又忘记了,甚至不知道其中的原理,只知道一些简单的使用,一会儿用ES6的语法,一会儿又用传统的语法,为了改变这种不良的习惯,并理清vue-resource使用promise取数据的原理,今天把这一块整理一下。http://www.jianshu.com/p/8aa7bc068fbf 先来

大灰狼的小绵羊哥哥的博客 1万+

Vue.js终极认证方案:如何用vue-resource轻松集成JWT与OAuth2

在现代Web应用开发中,用户认证是保障数据安全的核心环节。vue-resource作为Vue.js官方推荐的HTTP客户端,提供了简洁而强大的工具来处理JWT和OAuth2等认证机制。本文将详细介绍如何利用vue-resource实现安全可靠的用户认证流程,让你的Vue应用轻松具备企业级身份验证能力。 ## 为什么选择vue-resource处理认证? vue-resource作为Vue.js

gitblog_00973的博客 860

[Vue]vue-resource和 axios的区别

1.VUE-RESOURCE Vue.js是数据驱动的,这使得我们并不需要直接操作DOM,如果我们不需要使用jQuery的DOM选择器,就没有必要引入jQuery。vue-resource是Vue.js的一款插件,它可以通过XMLHttpRequest或JSONP发起请求并处理响应。也就是说,$.ajax能做的事情,vue-resource插件一样也能做到,而且vue-resource的API更为...

iChangebaobao的博客 491

告别选择困难:vue-resource与axios深度测评,Vue项目HTTP工具终极抉择

在Vue.js开发中,选择一款高效可靠的HTTP客户端工具至关重要。vue-resource作为Vue.js官方推荐的HTTP客户端,与后来居上的axios各有千秋。本文将从功能特性、使用体验、性能表现等多个维度进行深度测评,助你在Vue项目中做出终极抉择。 ## 🚀 核心功能大比拼 ### 1. 基础请求能力 vue-resource作为Vue.js的官方插件,深度集成了Vue生态,提供了

gitblog_00202的博客 1054

Vue-resource

Vue-resource vue-resource特点 体积小:vue-resource非常小巧,在压缩以后只有大约12KB,服务端启用gzip压缩后只有4.5KB大小,这远比jQuery的体积要小得多。 支持主流浏览器:和Vue.js一样,vue-resource除了不支持IE 9以下的浏览器,其他主流的浏览器都支持 支持Promise API和URI Templates:Promise是ES6的特性,Promise的中文含义为“先知”,Promise对象用于异步计算。 URI Templates

Wang_Si_D的博客 491

vue-resource 和 axios 区别

在Vue项目中前后端交互时,早期的Vue版本使用Vue-resource插件从后台获取数据。从Vue2.0之后就不再对vue-resource进行更新,而是推荐使用axios. vue-resource Vue.js的插件提供了使用XMLHttpRequest 或 JSONP进行Web请求和处理响应的服务。vue-resource像jQuery的$,ajax,用来进行数据交互。主要用于发送ajax请求。 特点: 1.体积小,压缩后大约12kb 2.支持主流浏览器,除了IE9以下 3.支持Promiss AP

weixin_44684357的博客 501

vue请求封装 使用promise和vue-resource

vue请求封装 使用promise和vue-resource 由于在项目中很多地方都需要用到网络请求,为了使用上的方便,使用ES6的Promise和vue-resource来封装网络请求 // # api.js import Vue from 'vue'; import router from '../../router'; const API_PATH = '' // # 请求前缀 /** *...

weixin_33743703的博客 1152
上一篇: 融云聊天系统的应用
下一篇: 深入理解javascript原型链
游世界
博客等级 码龄9年 2粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值