使用 phonegap(ios) 调用 Web 服务
Posted
技术标签:
【中文标题】使用 phonegap(ios) 调用 Web 服务【英文标题】:Calling web service using phonegap(ios) 【发布时间】:2012-02-21 14:26:02 【问题描述】:我想在 phonegap 应用程序中调用网络服务。我正在使用
给出的演示代码http://wiki.phonegap.com/w/page/32513809/Simple-Web-Service-Consumption-with-PhoneGap-and-XUI
我从链接创建了 xui.js
http://xuijs.com/downloads/xui-2.3.2.js
并尝试将 xui.js、index.html 放在 www/assets 和 www 文件夹中。
但这对我不起作用。有人可以帮帮我吗.....
【问题讨论】:
【参考方案1】:尝试在 PhoneGap.plist 中的 ExternalHosts 选项中添加 * 如果您的应用无法连接到互联网/无法进行 xhr 调用,可能会出现这种情况
【讨论】:
大家好,在解决了这个问题后,我写了一篇关于在PhoneGap中调用Web服务的博客kmithi.blogspot.in/2012/02/callling-web-services-in.html? @ghostCoder,android 怎么样,我需要修复哪里。由于跨脚本限制而出现异常。那么我必须在哪里将 * 添加到 Android 中的 ExternalHosts 选项。谢谢。 安卓没有这样的东西。它应该按原样工作。你得到什么错误 我收到消息“Put Stuff in Me
”,因为它是 :(。它应该已被替换。当我尝试使用 chrome 时,我得到了XMLHttpRequest cannot load http://ws.geonames.org/postalCodeSearchJSON?postalcode=90210&maxRows=10. Origin null is not allowed by Access-Control-Allow-Origin.
我们过去在访问托管服务时收到此错误在其他领域。我使用了相同的示例,没有更改任何内容。我所要做的就是类似于您为 ios 提到的那个。【参考方案2】:
试试这个例子:
使用js编写这段代码并包含在index.html文件中或者使用javascript标签编写这段代码到html文件中。你必须在index.html中包含xui-2.3.2.js文件。 hmtl 只是为了减少代码长度。如果你不使用这个文件,那么 x$ 将不起作用。
x$.data = ;
x$(window).load(function(e)
x$("#returned_information").xhr("http://ws.geonames.org/postalCodeSearchJSON?postalcode=90210&maxRows=10",
callback: function()
var codes = eval("("+this.responseText+")").postalCodes; /* this should be an array */
x$("#returned_information").html(codes[0].placeName);
);
);
这个在 index.html 正文中
<h1 id="returned_information">
Put Stuff in Me
</h1>
最后在外部主机的属性列表文件中授予打开 URL 的权限。 在外部主机数组中添加 *。
我相信它会完美运行。
【讨论】:
以上是关于使用 phonegap(ios) 调用 Web 服务的主要内容,如果未能解决你的问题,请参考以下文章
如何使用phonegap从javascript调用ios方法?
PhoneGap - Angularjs http 服务(PHP API 调用)不工作
如何在 iPhone 中使用 PhoneGap 调用基于 SOAP 的 Web 服务?
iOS HTML Web App (PhoneGap) 滚动
iOS - 如何使用 phoneGap / Cordova 中的参数调用 writeJavascript
无法在 iPhone 的 PhoneGap 中使用 AJAX(简单 javascript)调用基于 REST 的 Web 服务