SDK平台加载页面,有一个页面url拼接参数重新加载的逻辑。Android和Windows都没有问题,但是iOS平台一直触发ajax的error回调中的alert方法!
问题定位
- 通过alert提示信息定位具体触发位置,均是ajax请求的error回调
- 二次页面加载同样的接口没有触发错误
- 如果取消二次重载,初次加载页面不会触发错误
- 询问iOS端alert方法处理的逻辑,给出的答案是SDK不支持直接调用alert,需要webview拦截后通过SDk实现JS的alert功能
- 询问Android端和Windows端,未进行类似处理
- 为何初次加载的时候会导致ajax请求失败?
- 因为二次加载页面的时候速度太快,导致初次加载时请求的接口未完成就直接中断,导致error
- 为何Android端和Windows端不会触发类似错误?
- 这两端的alert是js原生方法,页面直接加载可以将初次的aler覆盖忽略,但是iOS是SDK实现的,无法自动覆盖重载
解决方案
判断当前页面是否存在二次加载的参数,如果存在进行ajax请求,如果不存在直接拦截请求!