我正在 Debian 7.0.0 上使用 xhtml、LAMP 和 jQuery 2.0.2 进行开发。
我正在使用以下 php 生成的元素
echo "<img id=\"displayImageID\" src=\"" . $DisplayFileName . "\" alt=\"Background\" style=\"margin:10px 0px 10px 5px\"/>";
我希望在用户单击单选按钮时将其更改为不同颜色的查找表。为此,我使用以下代码
jQuery.ajax({
type: "POST",
url: "DisplayParameters.php",
data: { LUT:lut }
}).done(function( result ) {
$("#msg").html( " Ajax called" );
});
在 DisplayParameters.php 中使用以下代码
$LUT=$_POST['LUT'];
$Executable="Executables/changeLUT";
$DisplayImageName="images/display.png";
$Str=$Executable . " -t " . $LUT" . " -o " . $DisplayImageName;
$output=exec($Str, $dummy, $returnValue);
echo "<script language=\"JavaScript\">";
echo "d = new Date();";
echo "jQuery('#displayImageID').attr('src', '" . $DisplayImageName . "?'+d.getTime());";
echo "</script>";
}
更新图像并将其重新加载到图像元素中,但在我使用 Firefox“重新加载当前页面”刷新整个页面之前没有任何反应。
我曾想过,也许是由于 Ajax 的异步特性,图像在被具有相同名称但不同颜色 LUT 的新图像替换之前被加载。但是,如果是这种情况,如果我在保存到磁盘的图像更改后继续单击单选按钮,我希望最终会加载新的 LUT 图像。不是这种情况。在重新加载页面之前,我没有得到新图像。