Phonegap Android Build无法连接到其他服务器

时间:2015-10-14 22:04:57

标签: android jquery cordova

当我使用phonegap制作android版本时,将其下载到我的手机上并启动它,它不会进行webservice调用。实际上它不会从标题中的cdn链接中检索JQuery文件。我下载了JQuery并放置了一个内部链接,以为我可能会取得一些进展,但是虽然jquery现在可以运行,但是Web服务调用并不起作用。我已经阅读了大量文章并做了几件事。也许是我忽略的愚蠢和小事,但我试过......

- 通过添加

编辑我的config.xml文件
<access origin="*" subdomains="true"/>
<plugin name="cordova-plugin-whitelist" version="1"/>
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-navigation href="http://*/*" />
<allow-navigation href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<platform name="android">
<allow-intent href="market:*" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>

- 通过添加

编辑我的index.html标题
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src *  'unsafe-inline'; script-src *  'unsafe-inline'; media-src *">

我像这样打电话给服务器

$.post( "http://mobile.lbtelematics.com/appCalls.php", {type: "check"}, function(data){verify(data)}, "text").fail(function(){alert("Server busy or down. Please try again later...")});

每次打开应用程序时,都会收到失败警报。如果可以给出一些很好的指导。我通常可以在一段时间后解决这些问题,但过去两天我一直在讨论这个问题。提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可能需要尝试使用以下内容的Content-Security-Policy元标记:

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src *  'unsafe-inline'; script-src *  'unsafe-inline'; media-src *">

并加入:

'unsafe-eval'

使JQuery正常工作。所以试试:

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src *  'unsafe-inline'; script-src *  'unsafe-inline' 'unsafe-eval'; media-src *">

你肯定希望坚持在你的应用程序中捆绑JQuery,只在运行时从你的服务器获取数据/支持文件,而不是应用程序需要工作的JavaScript框架和库 - 将它们放在你的www在你的Cordova应用程序的某个地方将它们运送到应用程序内。