我有一个简单的表单提交的Web应用程序。该应用程序是使用AngularJS创建的,并对所有HTTP请求(如GET和POST)使用$ http。 该应用程序对PC /笔记本电脑以及iOS平板电脑和手机(iPad和iPhone - Safari和Chrome)上的所有浏览器(Chrome / Firefox / Safari)罚款。
我还在Android设备上测试了该应用,谷歌Nexus手机和平板电脑(Chrome和Firefox)也正常运行。
在三星Galaxy S3上,该应用程序可以在Chrome和Firefox以及三星默认浏览器上运行。
但是,使用三星移动设备(特别是三星Galaxy S4和三星Galaxy Tab 3)上的默认/库存浏览器,GET请求正常工作(返回状态为202),但POST请求失败,状态为0。
POST请求永远不会进入服务器,因为响应是即时的,它让我相信三星默认浏览器本身产生的响应。
我正在使用标准的AngularJS $ http资源并调用$ save来激活POST请求。 https://docs.angularjs.org/api/ngResource/service/ $资源
没有简单的方法来检查三星默认浏览器(与使用USB的Chrome检查器不同)所以我在使用alert(angular.toJson(e));
的错误情况下添加了警报,并且我在POST请求时得到的字符串化响应看起来像这样:
{"data":"","status":"0","config":"{"method":"POST","transformRequest":[null],"transformResponse":[null],"url":"https://server-url.com","data":{submission data}}}
我想也许问题在于提交数据本身,所以我提交了一个空对象作为提交数据,但响应是一样的。
我在网上看到过有关三星默认浏览器问题的几篇帖子,但未能找到与手头问题相关的任何资源。
有没有人对使用AngularJS构建的网络应用程序的三星默认浏览器有任何经验?
Chrome模拟器在这里没用,因为模拟器无法模仿相同的错误,因为它使用了自己的JS引擎。