2013-04-23 52 views
0

我只是試圖使用jquery獲取服務器上另一頁的內容,然後在另一頁上顯示JSON數據的一部分。繼承人是我到目前爲止有:將JSON數據傳輸到新頁面

<script> 
var namestest = { 
"name1":"josh", 
"id1":814922118, 
"color1":"red"}; 
</script> 

第2頁試圖顯示的數據:

<div id="result"> </div> 

<script> 
$.get('http://sentinelgaming.org/test.php', function(data) { 
    $("#result").html(namestest.name1); 
}); 
</script> 

爲什麼會這樣不行

頁被取1點的數據?

+0

爲什麼一個網站上的聲明變量在另一個網站上可用,僅僅是因爲您從其他網頁中檢索到的內容是html?如果JSON是您想要的,請將該文件存儲爲JSON,而不是使用JavaScript變量(您無法訪問)的HTML。 – adeneo 2013-04-23 07:38:48

+0

是的,這是正確的,那麼你可以訪問他們的數據變量像data.name1 – 2013-04-23 08:41:59

回答

0

我認爲這個問題在您的JSON VAR第2頁不認爲這(你可以讓consloe.log(namestest)),所以我認爲你需要將它定義爲全局變量

1

嘗試

第1頁

{ 
"name1":"josh", 
"id1":814922118, 
"color1":"red" 
} 

第2頁

<script> $.get('http://sentinelgaming.org/test.php', function(data) { 
    var namestest = eval('(' + data + ')'); 
    $("#result").html(namestest.name1); }); </script> 
+0

這是一個有趣的嘗試,但我不能讓它通過任何方法工作,因爲它仍然沒有抓住內容出於某種原因。 – 2013-04-23 17:53:35

+0

你能夠在回調函數中打印JSON響應嗎?試試$ .ajax() – Madhu 2013-04-24 03:41:16

1

我不知道,因爲代碼似乎並不科爾等我。 在下面的代碼中,請參閱行 $(「#result」)。html(namestest.name1);

它應該是$(「#result」).html(data.name1),因爲您在數據變量中傳遞響應。 $('http://sentinelgaming.org/test.php',function(data){ $(「#result」)。html(namestest.name1); });

+0

這就是我的想法,但它不會工作,因爲它無法從其他頁面獲取變量。 – 2013-04-23 17:53:05

+0

還有一件事,在響應中請設置內容類型「application/json」。 – 2013-04-23 18:59:20

+0

我使用resource.setContentType(「application/json」)設置了它;這似乎並沒有影響到它。 – 2013-04-23 22:17:44