javascript – 移动Safari的AJAX响应太大了?
作者:互联网
我在调试移动Safari的Web应用程序时遇到了一些问题. Web应用程序是一个相当复杂的服务器端模拟工具的前端. Web应用程序的工作原理概述如下:
>向用户显示一个屏幕,用于填写要执行的模拟的值.
>用户单击“运行模拟”,此时将对服务器进行AJAX调用.页面上的状态窗格已更新,表示正在运行模拟. php脚本使用POSTed值运行模拟器,并发回一些javascript以首先更新状态栏,指示正在检索数据,然后设置另一个AJAX调用以请求结果数据.
>服务器使用来自模拟的数据回复第二次AJAX调用 – 一些json格式的大型数组(大约1-2mb的总数据),以及一些用于清除状态窗格的javascript,并绘制初始值结果的一步.
>然后,用户可以使用一些滑块/标签来查看不同的图表,浏览模拟时间步骤等.
所有这些都适用于主要的桌面浏览器(IE 7,Firefox(win,mac,linux),safari(Mac,windows)等).但是,在移动safari上,步骤1和2正常(执行所有javascript以更新状态窗格等等)但是在步骤3中一切都崩溃了,好像返回的javascript永远不会被执行(状态窗格)从不清除,结果永远不会被绘制).
我已经为调试插入了一些警报,但这些警报也没有执行.最后,我尝试返回除模拟数据之外的所有内容,并且一切正常(虽然这些图是空白的)所以在json数据的大量返回中它是错误的. safari javascript调试器没有显示任何错误,我不知道如何继续调试这样的事情.有任何想法吗?
解决方法:
我不能告诉你你的问题的答案,但这是我如何调试:
>尝试让服务器只发送几kb的数据
>查看是否可以打印数据大小
>将数据分解为更小的更易于管理的块(JSON意味着很小)
就像我说的那样,不是真的答案.更多的方法.
标签:javascript,ajax,iphone,mobile-safari 来源: https://codeday.me/bug/20191008/1873497.html