此代码在包括Safari在内的所有桌面浏览器中均能完美运行,但不适用于iOS Safari。我根本无法登录该网站。这是代码示例:
async LOGIN_USER ({commit}, {username, password}) {
this.dispatch('CLEAR_ERROR')
this.dispatch('SET_LOADING', true)
var bodyFormData = new FormData()
bodyFormData.append('username', username)
bodyFormData.append('password', password)
await axios({
method: 'post',
url: MAINURL + '/auth/jwt/create/',
config: {
headers: {'Content-Type': 'multipart/form-data'}
},
data: bodyFormData
})
一个星期的互联网研究没有任何进展。请帮忙。
答案 0 :(得分:0)
正如用户在评论中指出的那样,问题是由浏览器不支持异步/等待功能引起的。如here所示,这可能会在低于10.3的iOS版本上发生。
由于这是关键字而不是函数,因此无法通过包含polyfill脚本轻松修复。但是,确实存在其他方法。
您可以使用的一种工具是Babel。 Babel是使用现代ES7 Javascript并将其转换为旧版浏览器也可以支持的编译器。
These docs描述了如何配置Babel将异步/等待转换为向后兼容代码。
至少涉及的步骤如下:
安装Babel软件包:
npm install --save-dev @babel/core @babel/cli @babel/preset-env
npm install --save @babel/polyfill
安装插件以将异步/等待转换为发电机
npm install --save-dev @babel/plugin-transform-async-to-generator
从命令行运行
babel --plugins @babel/plugin-transform-async-to-generator script.js
script.js
是包含HTTP请求的Javascript文件。
这只是所涉及步骤的一般概述。具体步骤将取决于您如何设置项目。通常,步骤仍将相似。