javascript - 电话间隙 : Cannot call remote hosts via HTTP

标签 javascript jquery iphone ajax cordova

我使用 jQuery 和 jQueryMobile 创建了一个 HTML5 网站。

如果我在浏览器中运行它,一切正常。

当我通过 Phonegap 将其部署到 iPhone 模拟器时,它不会找到我包含的 jQuery 对象 ($),如下所示:

<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>

console.log($); // undefined

如果我修改 src 属性,以便我的应用程序使用 jQuery 的本地副本,则 jQuery 对象存在:

<script src="lib/jquery.js"></script>

console.log($); // works

但是然后我注意到我的应用程序中的 Ajax 调用都不起作用

因此,我假设我的 iPhone 应用程序拒绝与远程主机的 HTTP 连接。

我该如何解决这个问题?

<小时/>

更新:我检查了 iPhone 应用程序中部署我的应用程序的 URL,如下所示:

文件:///Users/mobile/Library/Application Support/iPhone Simulator/5.1/Applications/9767E436-B93422-5423-5HLD-1680170C8AC5/MyApp.app/www/index.html

最佳答案

您需要在 Cordova.plist 中指定允许连接哪些主机

此功能称为 Whitelist并避免您的应用连接到您不想连接的服务器

关于javascript - 电话间隙 : Cannot call remote hosts via HTTP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11901011/

相关文章:

asp.net - 使用 JavaScript 进行 XML 解析

javascript - CSS、JavaScript、HTML,如何将 div 内的文本与图像旁边的中间对齐?并为文字添加动画

iphone - 如何向 RootViewController 发送数据

iphone - UINavigationBar问题

javascript - 动态创建的元素不可拖动

javascript - 如何在不使用 jQuery 的情况下制作水平滑动条

javascript - 有没有办法通过属性获取元素?

android - PhoneGap互操作

javascript - javascript中的日期选择器

javascript - 选项卡样式灵感无法与 4 个选项卡一起正常工作