相关疑难解决方法(0)

在iOS上调用“抓取”时出现Javascript“ TypeError:canceled”错误

我正在使用Sentry记录JS客户端错误,并且有很多TypeError: cancelled错误。它仅在iOS上发生。我在Google上找不到任何东西。这是本机Javascript错误还是其他?这是什么意思?

在此处输入图片说明

我也得到其他语言类似的错误,如???Abgebrochencancelado。这告诉我该错误不是由我的代码引起的。

javascript ios sentry

32
推荐指数
3
解决办法
1601
查看次数

net :: ERR_CONNECTION_RESET当大文件花费超过一分钟时

我有一个带有php后端的表单中的多部分文件上传.我已经设置max_execution_timemax_input_time在php.ini 180和文件上传证实,这些值设置,并设置TimeOut了Apache 180.我也定了

RewriteRule .* - [E=noabort:1]
RewriteRule .* - [E=noconntimeout:1]
Run Code Online (Sandbox Code Playgroud)

当我在快速连接上传250MB文件时,它工作正常.当我使用较慢的连接或网络链接调节器来人为减慢它时,同一文件超时并且Chrome net::ERR_CONNECTION_RESET在1分钟(和5秒)后可靠地给我.我也尝试过其他具有相同结果的浏览器,只是不同的错误消息.

没有任何迹象表明一个错误在任何日志和我都在尝试httphttps.

什么会导致上传连接在1分钟后重置?

编辑

我现在也尝试过一个简单的上传表格,绕过我正在使用的任何框架,还有1分钟的超时.

我还制作了一个睡眠脚本,在2分半钟后超时,并且可以正常工作,页面需要大约2.5分钟才能加载,所以我无法看到它的浏览器或标题是如何相关的.

我还使用了具有更多RAM的服务器来确保它与此无关.我已经在3个不同规格的不同服务器上进行了测试,但都来自同一个CentOS 7基础.

我现在也升级到PHP 7.2并再次更新相关字段,但问题没有变化.

编辑2 此孤立实例的技术堆栈是

  • Apache 2.4.6
  • PHP 5.6/7.2(两者都试过),有OPCache
  • Redis 3.2.6用于会话信息和键/值存储(ElastiCache)
  • PostgreSQL 10.2(RDS)

我的技术堆栈中的其他所有内容都已从此测试区域中删除,以尝试隔离问题.EFS在系统上,但在我最孤立的测试中,它只是使用EBS.

编辑3 这里有一些来自chrome网络调试器的日志:

{"params":{"net_error":-101,"os_error":32},"phase":0,"source":    {"id":274043,"type":8},"time":"3332701830","type":69},
{"params":    {"error_lib":33,"error_reason":101,"file":"../../net/socket/socket_bio_adapter.cc","line":216,"net_error":-101,"ssl_error":1},"phase":0,"source":        {"id":274043,"type":8},"time":"3332701830","type":56},
{"phase":2,"source":{"id":274038,"type":1},"time":"3332701830","type":159},
{"phase":1,"source":    {"id":274038,"type":1},"time":"3332701830","type":164},
{"phase":1,"source":    {"id":274038,"type":1},"time":"3332701830","type":287},
{"params":    {"error_lib":33,"error_reason":101,"file":"../../net/socket/socket_bio_adapter.cc","line":113,"net_error":-101,"ssl_error":1},"phase":0,"source":    {"id":274043,"type":8},"time":"3332701830","type":55},
{"params":{"net_error":-101},"phase":2,"source":    {"id":274038,"type":1},"time":"3332701830","type":287},
{"params":{"net_error":-101},"phase":2,"source":{"id":274038,"type":1},"time":"3332701830","type":164},
{"params":{"net_error":-101},"phase":2,"source":{"id":274038,"type":1},"time":"3332701830","type":97},
{"phase":1,"source":{"id":274038,"type":1},"time":"3332701830","type":105},
{"phase":2,"source":{"id":274038,"type":1},"time":"3332701830","type":105},
{"phase":2,"source":{"id":274043,"type":8},"time":"3332701830","type":38},
{"phase":2,"source":{"id":274043,"type":8},"time":"3332701830","type":38},
{"phase":2,"source":{"id":274043,"type":8},"time":"3332701830","type":34},
{"params":{"net_error":-101},"phase":2,"source":{"id":274038,"type":1},"time":"3332701830","type":2},
Run Code Online (Sandbox Code Playgroud)

php apache file-upload

11
推荐指数
2
解决办法
4273
查看次数

对于成功的同源请求,提取将引发“ TypeError:提取失败”

使用单页JavaScript应用程序进行提取请求时,我们遇到了不一致的客户端错误。值得注意的是,它们都是相同来源的请求。

let request = new Request(url, options);
...
window.fetch(request)
  .then(response => response.json())
  .then(data => ...)
  .catch(error => ...)
Run Code Online (Sandbox Code Playgroud)

尽管服务器和浏览器收到200 OK响应,但仍有大约5%的承诺被拒绝并出现以下错误:

TypeError: Failed to fetch
Run Code Online (Sandbox Code Playgroud)

我很困惑...我所有的搜索都引发了有关CORS错误的讨论。鉴于这些都是相同来源的请求,因此似乎并不适用。是什么原因导致访存抛出TypeError

我可以使用Chrome DevTools中的“网络”标签来确认获取请求已完成,其中包含200 OK响应和有效的JSON。我还可以确认网址是相同来源的。我还可以确认没有CORS飞行前请求。我已经在Chrome 66和Safari 11.1上重现了此问题。但是,我们收到了来自Chrome和Safari版本(台式机和移动版)的一系列错误报告。


编辑:

这似乎不是链接问题的重复项,因为我们没有发送CORS请求,也没有设置mode: "no-cors",也没有设置Access-Control-Allow-Origin标题。

此外,我使用mode: 'same-origin'明确设置的选项重新运行了测试。请求(仍然)成功;但是,我们(仍然)收到间歇性信号TypeError

javascript fetch

8
推荐指数
1
解决办法
3339
查看次数

标签 统计

javascript ×2

apache ×1

fetch ×1

file-upload ×1

ios ×1

php ×1

sentry ×1