问题是这样的:
在公司测试 iPhone6、iPhone6 PLUS 和 小米NOTE时发现,在2G\3G\4G网络下用AJAX请求一个带有端口的URL,会失败。但是请求不带端口的URL就正常!在WIFI网络下请求也正常!
例如在2G/3G/4G网络下请求以下地址:
http://www.xxx.com:8800/index.php 这样的地址就会请求失败
http://www.xxx.com/index.php 这样的地址就能正常请求
该问题经我测试,只存在于 iPhone6(IOS8.1.3)、iPhone6 PLUS (IOS8.1.3)和 小米NOTE(安卓4.4.4) 这三款手机,其他的新款手机没有测试!我测试的其他老版本的手机(iphone4、4S、5、三星的低端安卓手机、魅族手机、小米以前型号的手机等等)不存在该问题,其中iphone4为IOS6系统,iPhone5为IOS8.1系统!
云端笔记 (作者)
我用的mui封装好的ajax,我看了一下mui里面默认用的就是application/json
我用其他手机无论3G/4G还是WIFI网络访问都没有问题,只有iPhone6 PLUS和小米NOTE用3G/4G访问有问题!代码里的url可以直接使用!
2015-03-20 17:34
DCloud_UNI_FXY
不是request里边的。是response里的content-type。你服务端设置response的content-type试一下。iPhone6P和小米NOTE的3G/4G运营商和其他手机的运营商一样吗?之前发生过,有用户的3G网络,如果服务端不设置content-type为application/json的话,会认为是html。被运营商之类的插入了html的头和尾。导致js解析json失败。
2015-03-20 20:29
DCloud_UNI_FXY
测试的话。你可以换成text请求。打印一下response。看看是不是被加入了额外的东西。
2015-03-20 20:30
云端笔记 (作者)
果然和运营商有关,移动的就不行,联通的就可以,但是我把服务器的content-type设为application/json后,连联通的都获取不到了,直接status为0。但是无论什么情况下,WIFI都没问题。
2015-03-23 13:36
DCloud_UNI_FXY
Content-Type设置成:text/plain;charset=utf-8试试
2015-03-23 18:38
3***@qq.com
回复 DCloud_UNI_FXY:请问这个服务端设置的response ,是在后台页面发送数据过来的那里吗?
2018-06-15 09:24