使用jquery ajax调用从服务器上的php脚本(mysql)检索图片

使用jquery ajax调用从服务器上的php脚本(mysql)检索图片,php,jquery,Php,Jquery,我正在尝试从我的服务器中提取一张图片,它的图片存储在mysql数据库中。当我试图打电话给它时,我没有正确地得到一张照片?下面是我如何尝试设置php服务器响应 if(mysql_query("insert into Personal_Photos (Email, Pics) values('$email', '$data')")) { $query="select Pics, MAX(ID) from Personal_Photos wher

我正在尝试从我的服务器中提取一张图片,它的图片存储在mysql数据库中。当我试图打电话给它时,我没有正确地得到一张照片?下面是我如何尝试设置php服务器响应

if(mysql_query("insert into Personal_Photos (Email, Pics) values('$email', '$data')"))
            {
                $query="select Pics, MAX(ID) from Personal_Photos where Email='$email'";
                $result=mysql_query($query) or die("Error: ".mysql_error());
                $row=mysql_fetch_array($result);
                //$mime = 'image/yourtype';
                //$base64 = base64_encode($contents);
                //$uri = "data:$mime;base64,$base64";
                header("Content-type: image/jpg");
                print($row['Pics']);
            }
这里是jquery表单调用,它试图获取这张图片

$('#profilepicbutton').live('change', function(){
    $("#preview").html('');
    $("#preview").html('<img src="loader.gif" alt="Uploading...."/>');
        $("#registerpt3").ajaxForm({
                target: '#preview',
                success: function(data)
                {                                   
                    $("#preview").html('');
                    $("#preview").append("<img src="+data+"></img>");
                }
            }).submit();
 });
更新:得到奇怪的结果 当我将php代码更改为以下内容时,会得到一个奇怪的结果

    if(mysql_query("insert into Personal_Photos (Email, Pics) values('$email', '$data')"))
            {
                $query="select Pics, MAX(ID) from Personal_Photos where Email='$email'";
                $result=mysql_query($query) or die("Error: ".mysql_error());
                $row=mysql_fetch_array($result);
                //$mime = 'image/yourtype';
                //$base64 = base64_encode($contents);
                //$uri = "data:$mime;base64,$base64";
                //header("Content-type: image/jpg");
                echo '<img src="data:image/jpeg;base64'.base64_encode($row['Pics']).'"/>';
            }

必须使用GET请求从url加载图像。好的,不总是这样-您可以使用数据URL,但它可能有缺陷,并且浏览器支持是一个问题。因此,如果您可以使用get请求而不是POST来获取php页面,这是没有问题的。用于创建查询字符串,并将url分配给图像的src:

$('#profilepicbutton').live('change', function() {
    $("#preview").html('');
    $("#preview").html('<img src="loader.gif" alt="Uploading...."/>');
    var form = $("#registerpt3");
    var page = form.attr("action");
    var qs = form.serialize();
    var url = page + "?" + qs;
    $("<img>").load(function() {
        $("#preview").empty().append(this);
    }).attr("src", url);
});