2011-11-07 67 views
0

我目前正在研究移動應用程序。在iOS 5 iPhone 4上使用PhoneGap 1.1.0。通過PhoneGap App上的XUI從外部服務器上的PHP文件獲取JSON/JSONp數據?

我有一些基本工作。我一直沒有努力,現在我需要能夠從網絡上的外部服務器獲取一些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」。

任何幫助,將不勝感激,因爲我不明白我哪裏會出錯。

+1

已經完成了。當我能夠自己回答問題時,將在8小時內發佈答案。 –

回答

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://」。

我希望這可以幫助其他人。

+0

也適用於PhoneGap 1.2.0 –

相關問題