2011-11-14 92 views
0

即時通訊使用google charts libaries,只是在我的服務器測試example code一切順利。但是,如果我把代碼中的一個頁面,讓使用example.php調用它,如果我用ajax從另一個頁面中調用使用example.php,如:使用谷歌圖表框架不工作時,使用AJAX

$.ajax({ url: 'stats-render.php', data: {ref: $(this).attr('id')}, type: 'post', success: function(d) { 
     $('div.stats-data').html(d); 
    }}); 
    $('div.stats-data').html('<center><img src="css/img/ajax-loader.gif" alt="loader_IMG" /><br>Rendering your stats</center>'); 
1000); 
    }); 

它的工作,顯然是有問題,當我通過Ajax調用示例,而不是直接調用它。有任何想法嗎?

+0

任何錯誤跟蹤? –

+0

@GuillaumeCisco不,它只是不加載 – DomingoSL

+0

你能告訴我你的ajax調用後發送的html頭文件是什麼? 您可以使用歌劇蜻蜓的'網絡'標籤輕鬆地知道它。 –

回答

1

你應該考慮使用iframe來使它工作,因爲谷歌測試頁的結果是一個完整的html頁面。

您的代碼就變成了:

<html> 
    <head> 
    <title>test</title> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"/> 
    <script type="text/javascript"> 
     $(function(){ 
     $('.stats-data').html('<center><img src="css/img/ajax-loader.gif" alt="loader_IMG" /><br>Rendering your stats</center>'); 

     $('.stats-data').attr('src', 'stats-render.php'); 
     }); 
    </script> 
    </head> 
    <body> 
    <iframe width="600" height="600" class="stats-data"> 
     override me 
    </iframe> 
    </body> 
</html> 

它使用iframe裝載谷歌cahrt的內容在你的頁面。 如果你真的想用div而不是iframe,你應該考慮解析你的ajax調用的結果並正確填寫你的div。

+0

由於某種原因,它不起作用,我會在這裏添加兩個文件和你可能會看到更好的問題,有test.php你的代碼和demo.php與一個非常簡化的stats-render版本,你會看到,如果你打開demo.php它的作品,但如果你嘗試從test.php打開它,它會不會。 DEMO.PHP:http://paste.ideaslabs.com/show/5pGs36l4Y7 TEST.PHP:http://paste.ideaslabs.com/show/XpGhnsF3uZ – DomingoSL

+0

它適用於我,因爲它與我測試的文件完全相同。 這次你的錯誤是什麼? –

+0

完全沒有錯誤 – DomingoSL