2012-01-17 79 views
0

我想從http://www.bartdekimpe.be/anoire/index.php/admin/getGamesUserJson/34中檢索JSON,但我似乎無法使其工作。我可以得到它,但然後我得到了洞HTML頁提供HTML頁面而不是JSON的Web服務器

$.ajax({ 
    url: 'http://www.bartdekimpe.be/anoire/index.php/admin/getGamesUserJson/34', 
    success: function(data) { 
     $(".testing").append(data); 
    } 
}); 

這樣的作品,但正如我所說,我得到了整個HTML頁面。當我把它放在這樣一個變量中:

downloadedjson = data; 
$(".testing").append(downloadedjson); 

最後一個不起作用。我想把它放在一個變量中,以便我可以稍後在iPhone上寫一個文件。

+0

請發佈您的完整AJAX請求代碼。 – 2012-01-17 21:37:43

+0

您鏈接到的頁面不返回JSON,它返回純文本HTML文檔。另外如果你的服務器端腳本返回JSON,你將不得不遍歷它,你不能只將它附加到DOM:http://www.json.org/ – Jasper 2012-01-17 21:38:39

回答

1

你不把它當作JSON。

$.ajax({ 
    url: 'http://www.bartdekimpe.be/anoire/index.php/admin/getGamesUserJson/34', 
    dataType: 'json', <--- you'll need this 
    success: function(data) { 
     $(".testing").append(data); 
    } 
}); 
+1

值得一提的是,jQuery有一個[.getJSON() ](http://api.jquery.com/jQuery.getJSON/)快捷方法,它將自動執行此操作。 – Blazemonger 2012-01-17 21:45:23

+0

我試過.getJSON()它沒有工作。當我添加「dataType:'json'」它不起作用,沒有它 – 2012-01-17 22:10:53

0

您的後端正在呈現text/html HTTP響應,而不是JSON響應。

您正在輸出HTML代碼,而不是JSON數據。

這是您的Web服務器技術的問題,與Phonegap無關。然而,你的問題是不準確的,你不明白你如何提供JSON有效載荷。

1

正如其他人所說的那樣,您將返回JSON作爲純文本HTML文檔。你可以在HTTP頭文件中改變它。它看起來像你正在使用PHP,所以這是你需要在任何輸出發生之前放置在您的PHP中的代碼。

header("Content-type: application/json"); 
header("Content-Disposition: attachment;Filename="gamesUser.json"); 

我不確定第二行是否100%需要,但我通常使用它。

0

我有同樣的問題,它是在我的PHP頁面添加頁眉和頁腳,實際上並不需要。它應該是一個純PHP頁面,以PHP標籤開頭和結尾,就是它(沒有額外的CSS或JS鏈接文件或代碼)

相關問題