将 php 字符串返回给 jquery



我有一个简单的形式,将图像上传到服务器并返回包含图像地址(和/或附加HTML代码)的php字符串。它是用JqueryForm插件完成的。我想要的:PHP 文件返回的值(字符串)需要返回给 jquery,所以我可以使用该图像 url 将其设置为某个元素的 bckground:

这是php文件(用于更新图像):

$path = "上传/";

$valid_formats = array("jpg", "png", "bmp");
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
    {
        $name = $_FILES['photoimg']['name'];
        $size = $_FILES['photoimg']['size'];
        if(strlen($name))
            {
                list($txt, $ext) = explode(".", $name);
                if(in_array($ext,$valid_formats))
                {
                if($size<(1024*1024))
                    {
                        $actual_image_name = time().substr(str_replace(" ", "_", $txt), 5).".".$ext;
                        $tmp = $_FILES['photoimg']['tmp_name'];
                        if(move_uploaded_file($tmp, $path.$actual_image_name))
                            {
                                echo $actual_image_name; //This is returned, i want thist to be somehow "converted" to jquery
                            }
                        else
                            echo "Sending failed!";
                    }
                    else
                    echo "May filesize 1 Mb!";                  
                    }
                    else
                    echo "Unknown ffile format!";   
            }
        else
            echo "Select image for sending";
        exit;
    }

而且,这是用于发送图像的jquery代码:

$('#photoimg').live('change', function() {
       $("#main").html('');
$("#main").html('<img src="/uploader/loader.gif" class="vk_upload_bar" alt="Uploading...."/>');
$("#imageform").ajaxForm({
        target: '#main'
}).submit();
});

不知何故,而不是:

target: '#main'

这在 #main 中放置了一些 html,我需要这样做:

   $('#main').css('background-image', 'url(' + imageUrl + ')');

其中图像将由 CSS 分配 ti #main。(imageUrl 是上面 php 文件中的字符串:$actual_image_name)

这可能吗,或者至少有一些类似的解决方案?

你需要以jquery形式实现成功项,你的代码必须是这样的
(确保在 PHP u 返回图像的完整路径,不需要自己参与 json,使用 echo 或打印工作正确)

$('#photoimg').live('change', function() {
   $("#main").html('');
   $("#main").html('<img src="/uploader/loader.gif" class="vk_upload_bar"       alt="Uploading...."/>');
   $("#imageform").ajaxForm({
    url : 'yourphpfile' ,
   success :function (data){
          $('#main').css('background-image', 'url(' +  data + ')');
    }
   }).submit();
    });

有关jQuery表单的更多信息,请使用此链接 ,

问候

编写一个在文档加载时执行的函数调用,并将字符串传递到 HTML 的 javascript 中的函数调用中:

$(document).onload( function() {
     functionCall('<?php echo $actual_image_name ?>');
}

进行 AJAX 调用,将数据作为 JSON 字符串发送到 PHP 文件,并在回调函数中接收结果(也是 JSON 字符串)。在 jQuery 中使用返回数据。

最新更新