对话框

时间:2016-02-10 14:51:06

标签: php jquery

我有一个PHP页面,可以打开一个jQuery对话框,如:

$( "#editdialog" ).dialog({
  autoOpen: false,
  title: 'Show photo',
  height: 750,
  width:900,
  modal:true
});


$( ".editer" ).click(function() {
    $( "#editdialog" ).load("photo_view.php");
    $( "#editdialog" ).dialog( "open" );
    $('.ui-widget-overlay').css('background', 'silver');
});

load_photo.php代码如下:

$sql = "SELECT PHOTO FROM USERS WHERE ID='01'";
$result = mysql_query($sql);
if($result==FALSE) die("error".mysql_error());
$row = mysql_fetch_assoc($result);

header("Content-type: image/jpeg");
echo $row['PHOTO'];

如果我直接浏览load_photo.php,则会显示图像。 如果我在对话框中加载load_photo.php页面,则不会显示图像。

这可能是header()函数的错误吗?

编辑:我添加了一个类似您建议的中间页面。现在对话框加载了photo_view.php,其代码为:

 <img src="load_photo.php" width="75" height="75" style="padding:0px;" class="imageborder" onerror="this.src='noimg.jpg'" accept="image/*" />

仍然不起作用,结果相同。在对话框中,img框仍然为空白,直接浏览到photo_view.php,显示图像。

谢谢!

1 个答案:

答案 0 :(得分:0)

是的问题是您制作了图像响应(二进制)并且浏览器会显示它,因为它会自动将其放入img标记。

您应该删除header()并回复此HTML代码:

echo '<img src="' . $row['PHOTO'] . '">';