- 背景:最近一段时间在开发钉钉小程序,但是由于公司技术的限制,不能直接用钉钉提供的言语开发,而是采用了钉钉小程序的“壳”内嵌了H5项目。开发过程中使用小程序开发工具时一切正常,在钉钉真机调试时,苹果手机可以正常登录,安卓手机却跳不到登录页面,一直报401。经过排查发现,钉钉真机调试时,Request 的 Header 中的 X-Requested-With 为 “com.alibaba.android.rimet” 与普通浏览器上的不一样导致的。
- 经过此事总结两点:
- X-Requested-With 的作用:用来判断 request 来自 ajax 的请求为异步还是同步,如果 X-Requested-With 的值为 null,为同步请求;如果 X-Requested-With 的值为 XMLHttpRequest,为 ajax 异步请求。
- 钉钉小程序中的 web-view 会发送包含应用包名称的 X-Requested-With Header。具体的值为 “com.alibaba.android.rimet”。