使用ajax和PHP上传图片(预览无法正常工作)

时间:2014-01-04 01:29:00

标签: javascript jquery ajax

我有以下 HTML

<tr id="all_extended">
    <td id="portrait">
       <img id="image" <?if($image != NULL) echo "src='$image'"?>></img>
    </td>

JAVASCRIPT

$("#this_upload_is_working").ajaxForm({
                        target: '#image'
        }).submit();

但出于某种原因,只有在刷新页面时才会显示图像,而不是立即显示图像。有什么想法吗?如果是这样的话,关于如何使用jquery使其淡入的任何建议?

2 个答案:

答案 0 :(得分:1)

PHP是服务器端。因此,这就是为什么这只适用于刷新:

<?if($image != NULL) echo "src='$image'"?>

上面的代码也有很多错误,应该写得更接近这个:

<?php if($image != NULL){echo "src='.$image.'";} ?>

你必须在这里做几件事;

1)提交图像后,您必须构建一个Javascript / jQuery函数,将图像发送到将其存储在服务器上的PHP函数(您不一定需要使用数据库来存储图像,只要将图像URL存储在数据库中以引用记录,即yourwebsite.com/img.jpg)。

2)PHP脚本将返回存储图像的图像URL。

3)然后,客户端将收到存储图像的URL,您可以使用正确的图像URL填充img src,而无需刷新页面。

我正努力成为今晚女朋友的好心人,否则我会为你写更多脚本:(好消息是,通过上述步骤的轮廓,你可以学习和学习足够真实擅长这种编程!

干杯并继续卡车'!我希望这有帮助!

答案 1 :(得分:0)

<img id="image" <?if($image != NULL) echo "src='$image'"?>></img>

您的代码在页面刷新后工作,因为图像src从响应值填充。

我猜您的问题是即时图片预览,如果是,那么您可以查看此答案Preview an image before it is uploaded。如果您浏览任何图像,您将立即获得预览。