我有index.php,我要求用户选择两个图像进行组合..使用复选框完成选择。 用户然后单击我将所选图像路径传递给MergeImages.php的按钮,合并image.php将两个图标与其他处理组合在一起并创建一个图像,我需要在index.php上显示图像列表。
这是我的代码 的index.php
var Images;
Images = listOfImages.join("|");
$.ajax({
url: 'MergeImages.php',
type: 'POST',
data: {listOfImages : Images},
success: function(data) {
alert("success");
$("#output_image").attr("src","MergeImages.php" );
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(textStatus, errorThrown);
}
});
}
MergeImages.php
imagecopy($dest, $src, 0,0,0,0,$swidth,$sheight);
header('Content-Type: image/png');
imagepng($dest);
图像未显示,可能是什么问题?
答案 0 :(得分:1)
您向MergeImages.php
发出POST请求,但成功后您不使用返回的数据。相反,您将图像src
设置为MergeImages.php
,它会调用它,但没有PST参数(这是一个没有任何参数的普通GET请求)。
您需要在成功处理程序中使用data
。这是您对MergeImages.php
的POST请求的响应。为此,请参阅this question的接受答案。
如果可能,在MergeImages.php
中使用POST替换GET可能会让您更轻松。在这种情况下,您不需要AJAX,但您只需将图片的src
属性设置为"MergeImages.php?icon1=bla&icon2=bla"
。
答案 1 :(得分:0)
我认为返回图片并不是一个好主意,除非每次请求都会生成新图像。
为了提高可缓存性,您应该返回重定向到服务器上图像网址的响应。