2014-01-24 7 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); 
?> 

Но выход я получаю на странице только красный крестик знак. Любая работа вокруг?

+0

инструмент хром разработчик показывает «не удалось загрузить ресурс» нужен – mansoondreamz

ответ

0

Атрибут тега <img> должен быть URL-адресом для извлечения изображения, а не фактическими данными для самого изображения. Я не понимаю, почему вам нужен вызов AJAX для этого вообще, попробуйте следующее:

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

Аякса, потому что я хочу, чтобы отправить некоторые данные в script wr.php, так что диаграмма генерируется в соответствии с данными – mansoondreamz

+0

Что делать, если я хочу отправить некоторые параметры на wr.php? – mansoondreamz

+0

@mansoondreamz Затем поместите их в качестве параметров URL-адреса в тег 'src', например:' 'wr.php? Param1 = value1 & param2 = value2''. Прямо сейчас ваш 'jQuery.post()' не имеет никаких данных (параметров). –