我正在使用 jcrop 在我的 php 应用程序中裁剪图像。我使用下面的代码使用 ajax 传递坐标值和图像路径,
function checkCoords(index) { if (parseInt(jQuery('#w').val())){ jQuery.ajax({ type : "POST", cache: false, dataType: 'html', data : { x : jQuery('#x').val(), y : jQuery('#y').val(), w : jQuery('#w').val(), h : jQuery('#h').val(), image_path : jQuery('#jc-hidden-image'+index).attr('src') }, url : BASE_URL+'apps/configure/cropimage', success : function(response) { jQuery(".preview_crop").html(response); } }); } else{ alert('Please select a crop region then press Crop button.'); }
在Controller中,我使用如下的ajax值,
public function cropimageAction(){
$params = $this->getRequest()->getParams();
//d($params);
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$targ_w = $targ_h = 150;
$jpeg_quality = 90;
$src = $params['image_path'];
$img_r = imagecreatefromjpeg($src);
$dst_r = ImageCreateTrueColor( $targ_w, $targ_h );
$image = imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],$targ_w,$targ_h,$_POST['w'],$_POST['h']);
header('Content-type: image/jpeg');
imagejpeg($dst_r,null,$jpeg_quality);
exit;
}
}
我得到了类似的回应
��(��(��(��(��
而不是裁剪的图像,得到了一些符号。需要在 ajax 响应中获得裁剪图像。我在这方面做错了什么?