我有一个在Chrome浏览器和(genymotion)模拟器上运行良好的应用程序。
但是,如果我在智能手机上运行它,每个服务器请求(post,get,put)都会给出结果: Failed to load resource: net::ERR_CONNECTION_TIMED_OUT
我的设置:
cordova:5.2.0
config.xml文件:
jQuery的:
$.support.cors=true;
我的要求:(我也用骨干做了同样的结果)
$scope.loginRequestObject = $scope.getLoginObject(); $.ajax({ url : $scope.baseUrl + "/myTable", type : 'post', contentType : 'application/json; charset=utf-8', scriptCharset : "utf-8", data : JSON.stringify($scope.loginRequestObject), dataType : 'json', fail : function(a,b,c){ console.log(a); console.log(b); console.log(c); }, success: function(a,b,c){ console.log(a); console.log(b); console.log(c); });
我通过导出和运行(cordova运行android)运行我的应用程序,我的手机有无线连接。
@Asqan,
你犯了一个常见的错误,这个错误列在Cordova / Phonegap新手的开发者的顶级错误中 。 在这种情况下,您需要将white-list
插件和CSP
到您的网页。
另一种方法是快速修复 – 但要知道此修复程序会删除white-list
所有需求。 这会产生一个您可能不希望通过的安全问题 。
QUICK FIX将此添加到config.xml
答案很长就是这样:
从Cordova / Phonegap新手开发人员的热门话题中你可以获得 :
#6&#7
使用CLI版本,如果没有为您的平台分配版本,或者如果未在config.xml中设置phonegap-version,则在“Phonegap Build”中,您将获得最新版本。 如果运气好,您的程序就会按预期运行。 如果你不幸运,你会得到一组级联错误。
对我们所有人来说幸运的是,Holly Schinsky撰写了一篇很好的博文来解释这一切:
Cordova / PhoneGap版本混乱
对于#10
这个相对* NEW *的要求意味着 – 要访问网站上的任何网站或资源,您必须使用白名单和白名单插件。 如果您使用cordova-android@4.0.0或更高版本,此要求将生效; 包括cli-5.1.1。 但是,如果您的版本在4.0.0之前,假设为3.5.0或3.7.0,那么您将不必添加白名单要求。
要明确的是,“白名单”已经存在了一段时间,但插件和要求是非常新的。 正如您所料,当添加“白名单”时,不推荐使用事实上的开放访问function。 或者换句话说,事实上的开放访问function已经计划并计划被淘汰。 此更改标志着删除开放访问function的一个步骤。
此外,内容安全策略(CSP)已经吸引了众多开发人员 – 因为它的公开性很差。 根据您的使用情况和您使用的Phonegap版本,CSP需要进入您使用的每个HTML页面,就像您必须等待’deviceready’一样。 但是,有些情况根本不需要它。 文档令一些人感到困惑,请仔细阅读。 该文档隐藏在许多最新文档页面的底部。
相关链接
Phonegap Build Forum: 在PGB上升级到cli-5.1.1的注释 ,现在需要白名单
以上就是jQuery教程分享在真实设备上的cordova app请求中出现net :: ERR_CONNECTION_TIMED_OUT错误相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/561370.html