解决安卓手机浏览器无法上传文件的问题 xhr.status = 0

本文档记录了解决安卓手机浏览器在使用XMLHttpRequest上传文件时出现xhr.status=0,导致上传失败的问题。作者在开发过程中发现,无论使用via浏览器、Chrome还是系统自带浏览器,上传文件始终无法成功,xhr.readyState为4,但status为0。经过排查,发现问题在于前端使用了localhost作为请求地址,导致手机无法正确访问同一服务器上的后端接口。将localhost替换为服务器实际IP后,问题得到解决。
摘要由CSDN通过智能技术生成
第二篇博客

解决安卓(手机)浏览器无法上传文件的问题 xhr.status = 0

Created by @一个前端er 2020/02/27
前端菜鸟一枚,欢迎各位大佬对本博文批评指正

昨天写了一个浏览器上传下载文件的一个demo,原生html5 + 原生js,没有依赖jquery,毕竟就一个网页,就用原生的XmlHttpRequest进行请求,都2020年了,就不想着兼容低版本的毒瘤IE浏览器了。后端用的是阿里开发的nodejs框架eggjs。eggjs虽然做不到开箱即用,但是文档现在还是挺全的,遇到的一些问题百度上也基本上都能搜到。

今天把前后端放到服务器上进行调试,用pc的chrome和edge浏览器都测试通过,就拿起了自己的手机进行调试,发现选择文件之后点击上传按钮后提示正在上传之后就没反应了,网速也是0.x kb/s。其实昨天在敲代码的时候我就发现了这个问题,不过当时不以为意,以为是局域网内不能访问,以为是个bug,没想到今天放到服务器上了还是不能访问,印象中昨天用手机浏览器调试的时候后端的控制台是没有日志打印出来的,那就意味着根本就没有访问后端的接口。

在这里就要推荐一下我一直在用的via浏览器啦——轻量级的手机浏览器,而且还能安装一些插件,界面也很简约。via浏览器截图
一开始我以为是via浏览器用的安卓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值