我試圖讀取使用PhoneGap的從索引文件jQuery的.txt文件使用jQuery txt文件,但jQuery函數沒有返回閱讀的PhoneGap
這裏是我的代碼:
jQuery.get('http://gridberry.com/uploaded_files/E1BDA03F-3F9A-45E7-B16D-78F68C21DCD8.txt', function(data) {
alert(data);
});
您可以檢查txt文件的鏈接;它有數據。問題是什麼?
我試圖讀取使用PhoneGap的從索引文件jQuery的.txt文件使用jQuery txt文件,但jQuery函數沒有返回閱讀的PhoneGap
這裏是我的代碼:
jQuery.get('http://gridberry.com/uploaded_files/E1BDA03F-3F9A-45E7-B16D-78F68C21DCD8.txt', function(data) {
alert(data);
});
您可以檢查txt文件的鏈接;它有數據。問題是什麼?
不能使用Ajax請求來從不同的域訪問數據。一個簡單的解決方法是製作一個PHP腳本,像這樣從URL下載內容。
echo file_get_contents('http://gridberry.com/uploaded_files/E1BDA03F-3F9A-45E7-B16D-78F68C21DCD8.txt');
和.get()
腳本在您的服務器上。
我不能寫在PhoneGap的文件 – 2013-02-19 02:21:55
PHP肯定可以使Ajax請求到不同的域。被稱爲[CORS](http://www.w3.org/TR/cors/)。 – 2013-02-19 07:57:51
嘗試jQuery('#where_it_displays').load(file_url_here);
不工作對我來說..也許有一些缺失的問題,我想從電話www文件加載txt文件? – 2013-02-19 02:20:08
你把你的加載函數放在jQuery('document')。ready()函數中嗎? – 2013-02-19 22:52:35
它可能是一個跨域調用,因此它的失敗, 你可以做的兩件事情無論是。 1.)嘗試執行Jsonp來進行此調用,以便您可以使跨域呼叫正常工作。
2)把一個腳本標記與源作爲您的網址和閱讀在你的JavaScript
嘗試你的代碼中的jsfiddle script標籤內的內容給了我這個錯誤:
的XMLHttpRequest無法加載http://gridberry.com/uploaded_files/E1BDA03F-3F9A-45E7-B16D-78F68C21DCD8.txt。 Access-Control-Allow-Origin不允許產生http://fiddle.jshell.net。
這是一個經典的跨域問題......你不能打電話給你的域的方式之外的URL。
所以你認爲沒有辦法在phonegap中讀取.txt文件? – 2013-02-19 02:33:56
你可以使用jsonp格式而不是純文本嗎?使用jsonp數據類型的Ajax調用是可以解決跨域問題的一種方式(http://en.wikipedia.org/wiki/JSONP)。 – 2013-02-19 03:29:04
你可能運行到同源策略。看到這一點:http://stackoverflow.com/questions/2697557/accessing-web-service-from-jquery-cross-domain – Brian 2013-02-19 02:13:47
我得到了404,當我試圖打開文本文件,在瀏覽器中。你也嘗試在模擬器中運行它。你不會在模擬器中遇到交叉問題,所以這應該起作用。但請先檢查文件的鏈接。 – 2013-02-19 06:56:10