簡體   English   中英

通過Ajax將文件上傳到服務器

[英]Upload file by ajax to the server

我正在嘗試通過以下簡單代碼將圖像上傳到服務器:

 <form enctype="multipart/form-data">
    <input name="file" type="file" />
    <input type="button" value="Upload" />
</form>
<progress></progress>

<script>
$(':button').click(function(){
    var formData = new FormData($('form')[0]);
    $.ajax({
        url: 'http://cs418417.vkontakte.ru//upload.php?act=do_add&mid=219171498&aid=179524586&gid=0&hash=154ebcc2f733f318a20b77e296f285c5&rhash=e7df1f0c685b918ffa58ff10937dc7cd&swfupload=1&api=1',  //Server script to process data
        type: 'POST',
        dataType: "jsonp",
        xhr: function() {  
            var myXhr = $.ajaxSettings.xhr();
            if(myXhr.upload){ 
                myXhr.upload.addEventListener('progress',progressHandlingFunction, false); // For handling the progress of the upload
            }
            return myXhr;
        },
        data: formData,
        cache: false,
        contentType: false,
        processData: false
    });
});
function progressHandlingFunction(e){
    if(e.lengthComputable){
        $('progress').attr({value:e.loaded,max:e.total});
    }
}
</script>

此代碼無效。 控制台向我顯示了這樣的錯誤: 在此處輸入圖片說明

問題出在哪兒? 在此先感謝您,感謝您的英語!

服務器返回的是JSON字符串,但是您的代碼選擇將其作為JSONP接收。 執行JSON字符串將導致該錯誤。

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM