0

我目前正在开发一个移动应用程序。在 iOS 5 iPhone 4 上使用 PhoneGap 1.1.0。

我有一些基础工作。我工作时间不长,现在我需要能够从网络上的外部服务器获取一些 JSON 数据。

由于文件大小,我使用的是 javascript 框架 XUI 而不是 jQuery。XUI 是一个不错的小型 JavaScript 框架,但缺乏文档。

我想使用 XHR 请求获取数据。但是由于某种原因,我现在无法访问数据(我以前的请求工作但已经离开项目一段时间了,不知道发生了什么,所以找人帮忙),我不知道为什么。

请求如下(目前只是从 twitter api 请求数据):

x$( '#button' ).touchstart(function(e) {
           x$('#test').xhr('https://twitter.com/status/user_timeline/MY_TWITTERNAME.json?count=10&callback=?t', {
                    async: true,
                    method: 'post',
                    callback: function() {
                        alert("The response is " + this.responseText);
                    }
            });
});

DIV '#test' 只是一个空白 DIV,但我不确定是否需要在此选择器中声明 DIV。

我还在 PhoneGap.plist 中设置了外部主机以包含域“www.twitter.com”。

任何帮助将不胜感激,因为我看不出我哪里出错了。

4

1 回答 1

2

得到它的工作。我的 PhoneGap.plist 文件中的小问题。

我用来调用服务器的文件代码是:

x$( '#button' ).touchstart(function(e) {
                x$().xhr('http://www.url.co.uk/Mobile/test.php', 
                    function(){
                        alert(this.responseText);
                    }
                );
});

必须确保网址完整且正确,包括“http://”。

然后我去确保我的 PhoneGap.plist 是正确的。我尝试了一些不同的更改,然后发现错误在于 URL 末尾有一个斜杠('www.myurl.com/')。

如果您使用 PhoneGap 1.1.0,您需要在 PhoneGap.plist 中命名您将访问的外部域。这些将在“外部主机”部分中命名,并且在指定您的主机域时,它必须采用以下格式“www.domainname.com”并且不包括“http://”。

我希望这对其他人有帮助。

于 2011-11-08T09:50:39.003 回答