本文實例分享了原生JS版和jQuery 版實現文件上傳功能的例子,供大家參考,具體內容如下
<!doctype html> <html lang="zh"> <head> <meta charset="utf-8"> <title>HTML5 Ajax Uploader</title> <script src="jquery-2.1.1.min.js"></script> </head> <body> <p><input type="file" id="upfile"></p> <p><input type="button" id="upJS" value="用原生JS上傳"></p> <p><input type="button" id="upJQuery" value="用jQuery上傳"></p> <script> /*原生JS版*/ document.getElementById("upJS").onclick = function() { /* FormData 是表單數據類 */ var fd = new FormData(); var ajax = new XMLHttpRequest(); fd.append("upload", 1); /* 把文件添加到表單裡 */ fd.append("upfile", document.getElementById("upfile").files[0]); ajax.open("post", "test.php", true); ajax.onload = function () { console.log(ajax.responseText); }; ajax.send(fd); } /* jQuery 版 */ $('#upJQuery').on('click', function() { var fd = new FormData(); fd.append("upload", 1); fd.append("upfile", $("#upfile").get(0).files[0]); $.ajax({ url: "test.php", type: "POST", processData: false, contentType: false, data: fd, success: function(d) { console.log(d); } }); }); </script> </body> </html>
php代碼:
<?php if (isset($_POST['upload'])) { var_dump($_FILES); move_uploaded_file($_FILES['upfile']['tmp_name'], 'up_tmp/'.time().'.dat'); //header('location: test.php'); exit; } ?>
以上就是本文的全部內容,希望對大家的學習有所幫助。