獲取 input type="file" 標簽的內容,並使用ajax進行請求到服務器


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>ajax file</title>
    <script src="./js/jquery-1.12.4.min.js"></script>
    <script>
        $(function(){
            $file = $("#file")
            $file.change(function(){
                var formData = new FormData();
                formData.append('file', $('#file')[0].files[0]); // 固定格式
                alert(formData)
                $.ajax({        // ajax前記得加點 . !!!!!!!!!!!!!!!!!
                    url:"http://www.baidu.com",
                    type:"POST",
                    cache:false,
                    data:formData,
                    processData:false,
                    contentType:false,
                    success:function(data){
                        alert("=============")
                    },
                    fail:function(data){
                        alert("++++++++++++++++")
                    }
                });
            });
        });
    </script>
</head>
<body>
    <input type="file" id="file">
</body>
</html>

<!-- 上傳后,服務器端代碼需要使用從查詢參數名為file獲取文件輸入流對象,因為<input>中聲明的是name="file"。 -->
<!-- 
從Servlet 3.0(這好像是java的一個框架) 開始,可以通過 request.getPart() 或 request.getPars() 兩個接口獲取上傳的文件(django不確定是否使用這樣方式進行獲取數據) -->

<!--
processData設置為false。因為data值是FormData對象,不需要對數據做處理。
cache設置為false,上傳文件不需要緩存。
contentType設置為false。因為是由<form>表單構造的FormData對象
所以這里設置為false。上傳后,服務器端代碼需要使用從查詢參數名為file獲取文件輸入流對象,因為<input>中聲明的是name="file" -->

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM