1

これは、AJAX を使用してサーバーに画像をアップロードするために使用しているコードですが、何らかの理由で画像がアップロードされるまでブラウザがフリーズします。誰かが問題の背後にある理由を教えて、それを解決するのを手伝ってください。

$(function() {
    $("#form4").on('submit', function() {
        if($("#file").val()=== ""){
            alert("please select the image to upload");
            return false;
        }
        var formData = new FormData($(this)[0]);
        $.ajax({
            url: 'ajaxify/uploadphoto.php',
            async:true,
            type: 'POST',
            data: formData,
            beforeSend: function() {
                $(".note").show().html("uploading....");
            },
            success: function(data) {
                $(".note").html("uploaded successfully").fadeOut(2000);
                $('.galleryData').load('ajaxify/getphotos.php');
            },
            cache: false,
            contentType: false,
            processData: false
        });
        return false;
    });
});

これはhtmlです:

<form id="form4" action="ajaxify/uploadphoto.php" method="post" enctype='multipart/form-data'>
    <h2>upload album</h2>
    <label>select the file to upload</label>
    <input type="file" id="file" name="file[]" multiple="multiple" /><br/>
    <input type="submit" value="Upload"/>
    <div class="note"></div>
</form>
4

1 に答える 1

3

asyncが に設定されているためfalse、アップロードが完了するまで UI スレッドをフリーズしています。

に変更してみてくださいtrue

プロパティについては API で読むことができます。

于 2013-07-05T07:06:06.960 に答える