Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用XHR(AJAX)解决iOS12上的ClientBortException问题?_Ios_Ajax_Xmlhttprequest_Ios12 - Fatal编程技术网

如何使用XHR(AJAX)解决iOS12上的ClientBortException问题?

如何使用XHR(AJAX)解决iOS12上的ClientBortException问题?,ios,ajax,xmlhttprequest,ios12,Ios,Ajax,Xmlhttprequest,Ios12,我一直在开发一个基于Java的web应用程序,带有JavaScript前端,登录场景如下: 1.输入用户名和密码 2.收到关于另一项申请的通知 3.切换到此应用程序并确认认证请求 4.返回浏览器,您会发现自己已登录 Android上的测试很好,但在使用iPhone时,我遇到了这样一个问题:客户端(浏览器)切断了HTTP请求,因此无法接收HTTP响应(您始终可以完成该场景,但什么也没有发生),当我查阅服务器日志时,我发现这个“ClientAbortException:connection rese

我一直在开发一个基于Java的web应用程序,带有JavaScript前端,登录场景如下:
1.输入用户名和密码
2.收到关于另一项申请的通知
3.切换到此应用程序并确认认证请求
4.返回浏览器,您会发现自己已登录

Android上的测试很好,但在使用iPhone时,我遇到了这样一个问题:客户端(浏览器)切断了HTTP请求,因此无法接收HTTP响应(您始终可以完成该场景,但什么也没有发生),当我查阅服务器日志时,我发现这个“ClientAbortException:connection reset”。(“对等方重置连接”和“SocketException”)

无论如何,我搜索了一下互联网,发现这是iOS 12的问题(iOS 13还没有解决),苹果承认了这个错误。 我们尝试了iOS的Safari、Google Chrome、Firefox和其他浏览器,但都有同样的问题

我甚至尝试在步骤1使用一个id跟踪我的XHR请求,将该id与服务器上的数据关联,然后在步骤4重用相同的id来重新收集关联的数据,但仍然得到了相同的结果

在研究过程中,我发现这个问题的根本原因是,从iOS12开始,苹果决定切断应用程序的后台工作(优化问题等),这也会影响浏览器在后台发送XHR请求。(iOS开发人员可以使用解决方案)

注意:我们发现另一个名为“iBrowser-Private Web browser”的浏览器没有此问题


所以我的问题是,如果有人能帮助我,是什么让这个浏览器和服务器之间的HTTP会话保持打开状态?它和其他浏览器有什么区别?还有,我怎样才能让它在其他浏览器上正常工作?

这个问题有什么好运气,在实现基于SMS的MFA时也有问题。不,不是真的。事实上,它在最新的iOS13测试版上得到了修复,但仅在Safari上得到了修复。幸运的是,在实现基于SMS的MFA时也遇到了问题。不,不是真的。事实上,它在最新的iOS13测试版上得到了修复,但仅在Safari上得到了修复。