2011-10-21 2 views
2

를 표시 - PHP GD에 의해 만들어 내 *의 .PNG의 사진, 웹 페이지에서 제대로 표시되지 않는 이유는 무엇입니까?JQuery와 내가 간단한 질문이 GD PHP

back.php

<?php 
    $height = 200; 
    $width = 600; 
    $jVar = $_POST['jPacket']; //velue from jQuery script 

    $im = imagecreatetruecolor($width, $height); 
    $white = imagecolorallocate($im, 255, 255, 255); 
    $black = imagecolorallocate($im, 0, 0, 0); 
    imagefill($im, 0, 0, $white); 
//line_1 
    imageline($im, 10, 0, 10, $height, $black); 
//line_2 
    imageline($im, $jVar, ($height/2), $height-$jVar, ($height/2), $black); 

    header('Content-type: image/png'); 
    imagepng($im); 
    imagedestroy($im); 
?> 

... 간단한 jQuery를 AJAX 포스트는 여기에 있습니다 : : 내 PHP 코드는

script.js

var graphBack = $('<img id="backGraph" src="back.php" alt="backGraph"/>'); 

$('.value').keyup(function() { 
     $.post(
      "back.php", //send the POST here 
     { 
      jPacket: $('.value').val() //value from <input> 
     }, function() { 
      $('#backGraph').remove(); //remove old picture 
      graphBack.insertAfter($('#sipGraph p')); //put the picture here 
     }); 

그림이 제대로 표시되지만 모든 것이 보이지는 않습니다. imageline(...) 모든 요소 정적이지만 'imageline(..., $jVar, ...)는 scipt.js에서 $_POST['jPacket']로 보내기되는 값을 가지므로 'line_2'이 표시되지 않기 때문에 'line_1'는 볼 수있다. graphBack.insertAfter($('#sipGraph p'));에 IMG가 제대로 표시 되나요?

내가 scanario하지만 데이터 이상 수행

는 jQuery를에서되지 전송하지만 전송 된 게시물 페이지에 표시되고 있지 무슨

답변

1

일반 HTML 양식의 모든 ... 괜찮습니다. 페이지에 var graphBack = $('<img id="backGraph" src="back.php" alt="backGraph"/>');을 첨부하면 게시물이없는 별도의 두 번째 요청이 생성됩니다. 기본적으로 페이지에 이미지가로드됩니다. Back은 본질적으로 두 번 호출되며 POST를 사용하는 시간은 사용자가 표시하는 응답이 아닙니다.

내가 대신 단순히 $('<img id="backGraph" src="back.php?jPacket='+ MYAWESOMEJPACKET +'" alt="backGraph"/>');의 라인을 따라 생성 된 이미지 태그를 부착하고 현재 하나를 대체 할 것이다 - 더 GET을 사용하는 스크립트를 업데이트.

+0

흠 ... 집에서이 작업을 수행하려고하지만 내 JS에서 이런 일이 안 궁금 오전 :''}, 기능 (DATA) { 을. ** back.php ** 스크립트는 일부 데이터에 응답하기 때문에 스크립트에 제대로 삽입하지 않는 것이 문제 일 수 있습니다. – kamh