Показать сообщение отдельно
  #1 (permalink)  
Старый 27.07.2012, 16:02
Новичок на форуме
Отправить личное сообщение для Serh Посмотреть профиль Найти все сообщения от Serh
 
Регистрация: 27.07.2012
Сообщений: 2

Как правильно забрать картинку с сервера?
Здравствуйте.
С ЯваСкриптом на "Ваше Величество". Очень нужна помощь знающих людей.

Задача скрипта: При наведении курсора на ссылку получить с сервера сгенерированную картинку. После того как убрать курсор с ссылки, картинка должна исчезнуть.

Собственно нужно взять в ссылке с классом .ris строку data-ris и отправить ее GETом в php скрипт, скрипт должен вернуть картинку, в зависимости от того какая строка была передана. Картинка должна будет находится в div'е с классом .ds

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Вызов картинки</title>
</head>
<body>
<p>текст текст текст <a href="#" data-ris="ris1,10,10" class="ris">ссылка</a> текст текст текст</p>
<p>текст текст текст <a href="#" data-ris="ris2,15,20" class="ris">ссылка</a> текст текст текст</p>
</body>
</html>


С большим трудом нашел в гугле что-то более-менее работающее.
$(document).ready(function(){
	
$(function() {

$(".ris").hover(function(){
var item_id = $(this).attr("data-ris");
var qwe = $(this);
$.ajax({
	type: "get",
	url: "script.php",
	data: {ris: item_id},
	success: function(data){
	$('.ds').append(data);
	},
  
	beforeSend: function(){
	qwe.append("<div class='ds'></div>");
	},
  
	complete: function() {

	}
  
});
	},function () {
		$(".ds").remove();
	  }
	);
});
});


На скрипт уходит к примеру строка ris1,10,10
ris1 - будет название рисунка
10,10 координаты дополнительного текста на этой картинке

header("Content-type: image/png");

// рисуем картинку
function CreateRis ($img, $x, $y){
$img = $img.'.png';
$img = imageCreateFromPng($img);
$dot = imagecolorallocate($img, 0, 255, 255);
imagestring($img, 5, $x, $y, "+", $dot);
imagePng($img);
ImageDestroy($img);
}

// показываем картинку
$ris = $_GET['ris'];
list($images, $x, $y) = explode(",", $ris);
CreateRis ($images, $x, $y);


В чем собственно проблема.

Если просто вызвать пхп страницу с заданным GET запросом (script.php?ris=ris1,10,10) то рисунок отображается нормально.

Если попытаться навести курсор на ссылку вылазят кракозябры:





Если в пхп убрать объявление заголовка, то тогда и при прямом вызове скрипта с заданным запросом будут кракозябры.

Может кто-нибудь сможет подсказать как можно вылечить это?

Все файлы в UTF-8
Ответить с цитированием