首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么POST请求在iOS Safari中不起作用?

为什么POST请求在iOS Safari中不起作用?
EN

Stack Overflow用户
提问于 2019-03-06 20:04:00
回答 1查看 1.1K关注 0票数 1

这段代码在包括Safari在内的所有桌面浏览器中都能很好地工作,但在iOS Safari中不能工作。我就是无法登录这个网站。以下是代码示例:

代码语言:javascript
复制
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
  })

一周的互联网研究没有给出任何结果。请帮帮忙。

EN

回答 1

Stack Overflow用户

发布于 2019-03-07 15:39:28

正如用户在评论中指出的那样,问题是由浏览器不支持异步/等待功能引起的。如here所示,这可能发生在低于10.3的iOS版本上。

由于这是关键字,而不是函数,因此不能通过包含polyfill脚本轻松修复。然而,确实存在其他方法。

您可以使用的一个工具是Babel。Babel是一个编译器,它将现代的ES7 Javascript转换成更老的浏览器也能支持的东西。

These docs描述了如何将Babel配置为将异步/等待转换为向后兼容代码。

至少所涉及的步骤如下所示:

安装Babel包:

代码语言:javascript
复制
npm install --save-dev @babel/core @babel/cli @babel/preset-env
npm install --save @babel/polyfill

安装插件以将异步/等待转换为生成器

代码语言:javascript
复制
npm install --save-dev @babel/plugin-transform-async-to-generator

从命令行运行

代码语言:javascript
复制
babel --plugins @babel/plugin-transform-async-to-generator script.js

其中script.js是包含HTTP请求的Javascript文件。

这只是对所涉及的步骤的总体概述。确切的步骤将取决于您如何设置项目。尽管如此,一般来说,步骤将是相似的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55022716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档