0

我有 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);
 }
 });
 }

合并图像.php

imagecopy($dest, $src, 0,0,0,0,$swidth,$sheight); 

header('Content-Type: image/png');
imagepng($dest);

图像不显示,可能是什么问题?

4

2 回答 2

1

您向 发出 POST 请求MergeImages.php,但成功后您不使用返回的数据。相反,您将 image 设置srcMergeImages.php,它会调用它,但没有 PST 参数(这是一个没有任何参数的普通 GET 请求)。

您需要data在成功处理程序中使用。这是您对 POST 请求的响应所在的MergeImages.php位置。为此,请参阅此问题的已接受答案。

如果可能,将 GET 替换为 POST inMergeImages.php可能会让您的事情变得更轻松。在这种情况下,您不需要 AJAX,但只需将图像的src属性设置为"MergeImages.php?icon1=bla&icon2=bla".

于 2013-05-14T22:33:14.580 回答
0

我认为返回图像不是一个好主意,除非每次发出请求时都会生成一个新图像。

为了提高缓存能力,您应该返回一个重定向到服务器上图像的 url 的响应。

于 2013-05-14T22:37:13.640 回答