2014-01-24 18 views
1

我有一個頁面用於顯示由jpgraph生成的圖表圖像。使用jquery post得到由jpgraph生成的圖像

該頁面包含folllowing腳本:

jQuery(document).ready(function() { 

jQuery.post('wr.php', function(data) { 
var newImg = jQuery('<img />'); 
newImg.attr('src', data); 
jQuery('#placeholder').html(newImg); 
}); 
}); 

然後屆wr.php包含腳本生成圖形

<?php 
//lines to generate chart data 

$graph->Add($wp); 

$contentType = 'image/png'; 
$gdImgHandler = $graph->Stroke(_IMG_HANDLER); 

ob_start();      // start buffering 
$graph->img->Stream();    // print data to buffer 
$image_data = ob_get_contents(); // retrieve buffer contents 
ob_end_clean();     // stop buffer 

echo "data:$contentType;base64;" . base64_encode($image_data); 
?> 

但輸出I在頁面得到的是隻有一個紅色的X標記。任何工作?

+0

Chrome開發者工具顯示「無法加載資源」需要 – mansoondreamz

回答

0

<img>標記的src屬性應該是用於檢索圖像的URL,而不是圖像本身的實際數據。我不明白爲什麼你需要一個AJAX調用此可言,只是嘗試以下操作:

var newImg = jQuery('<img>', {src: 'wr.php'}); 
jQuery('#placeholder').empty().append(newImg); 
+0

AJAX,因爲我想發送一些數據到腳本wr.php,以便根據數據生成圖表 – mansoondreamz

+0

如果我想將一些參數發送到wr.php,該怎麼辦? – mansoondreamz

+0

@mansoondreamz然後把它們作爲URL的參數放在'src'標籤中,如下所示:''wr.php?param1 = value1&param2 = value2''。現在你的'jQuery.post()'沒有任何數據(參數)。 –