【问题标题】:iPhone & PhonegapiPhone & Phonegap
【发布时间】:2012-02-07 09:12:33
【问题描述】:

我尝试从一个 iphone 应用程序连接到一个简单的 json 网络服务 - 由 phonegap 制作(直接来自 iPhone 模拟器),但我无法做到。

Webserver 很简单,接收 2 个参数并将相同的参数返回给应用程序 - 仅用于测试(位于另一台服务器)。 客户:

//here we make the call to the webservice
var TheURL = "http://www.wsurl.com/json_ws/json_webserver.php?";
TheURL += 'latitude=' + latitude + '&';
TheURL += 'longitude=' + longitude + '&';
TheURL += 'jsoncallback=?';

if(checkConnection()){
    $.getJSON(TheURL,function(msg){alert(msg); });   
}

你有什么想法应该是错的吗?

谢谢!

【问题讨论】:

    标签: iphone cordova


    【解决方案1】:

    我会检查并确保您的 Web 服务器的 url(以及任何其他外部加载的资产等)已通过将其添加到 PhoneGap.plist 文件中的 ExternalHosts 键中来添加到 PhoneGap 白名单中。

    在此处查看有关外部主机的常见问题解答:http://wiki.phonegap.com/w/page/41631150/PhoneGap%20for%20iOS%20FAQ

    【讨论】:

    • 谢谢!它起作用了..我刚刚在PhoneGap.plist中添加了该站点并且它起作用了。
    • 太棒了。随意接受答案,这样如果他们在类似的船上,它将帮助其他人找到解决方案。
    【解决方案2】:

    我要检查的两件事是:1)您正在使用 jQuery,您确定它已包含在项目中吗? 2) 在 TheURL += 'jsoncallback=?'; 之后放置一个 NSLog。然后将连接的url复制并粘贴到safari中,看看它是否有效。我的猜测是“jsoncallback=?”中的问号是什么导致了问题,因为您在那里没有任何价值(如果在 url 中发送问号,则需要对其进行编码。我的猜测是您只是错过了应该占据该问号位置的值)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-29
      • 1970-01-01
      • 1970-01-01
      • 2012-02-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多