AjaxForm文件上传 - 我的代码出了什么问题?

时间:2014-09-15 04:58:10

标签: javascript php jquery html

我正在使用jquery.form.js插件:http://malsup.com/jquery/form/

上传图片后我想在div中显示它。我以前做过它,但不幸的是它只是异步工作,只有较小的文件 - 当它是一个更大的文件时,我看到它试图显示尚未上传的图片。这是适用于小文件的代码:

        $(this.el).find('#myForm').ajaxForm(function(data) {
        document.cookie = "imagePath=" + data;
        var myCookie = document.cookie.replace(/(?:(?:^|.*;\s*)imagePath\s*\=\s*([^;]*).*$)|^.*$/, "$1");
        $('.full-picture-col').html('<img src="' + data + '" class="img-responsive" />').fadeIn('slow');
        $('.left-picture-col').hide();
        $('.right-picture-col').hide();

    });

我尝试修改代码,以便将图片显示在&#34;成功&#34;,但不幸的是它不起作用。我在控制台中收到错误:

http://localhost/blabla/[object%20Object] 404 (not found).

HTML:

<form id="myForm" enctype="multipart/form-data" action="api/upload.php" method="POST">
    <input type="hidden" />
    <input id="upload" name="userfile" type="file" class="choose-file"/>
    <button class="choose-picture"></button>
    <div class="filename"></div>
    <input type="submit" class="send-button" value='' />
 </form>

JS:

$(this.el).find('#myForm').ajaxForm({
        complete: function(data) {
            document.cookie = "imagePath=" + data;
            var myCookie = document.cookie.replace(/(?:(?:^|.*;\s*)imagePath\s*\=\s*([^;]*).*$)|^.*$/, "$1");
            $('.full-picture-col').html('<img src="' + data + '" class="img-responsive" />').fadeIn('slow');
            $('.left-picture-col').hide();
            $('.right-picture-col').hide();
        }
    });

我该怎么做才能让它发挥作用?

0 个答案:

没有答案