原生JS和jQuery版实现文件上传功能


Posted in Javascript onApril 18, 2016

本文实例分享了原生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;
}
?>

更多精彩内容请参考专题《ajax上传技术汇总》,《javascript文件上传操作汇总》和《jQuery上传操作汇总》进行学习。

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
Aptana调试javascript图解教程
Nov 30 Javascript
Javascript匿名函数的一种应用 代码封装
Jun 27 Javascript
Js 冒泡事件阻止实现代码
Jan 27 Javascript
js复制网页内容并兼容各主流浏览器的代码
Dec 17 Javascript
JS实现跟随鼠标立体翻转图片的方法
May 04 Javascript
用Move.js配合创建CSS3动画的入门指引
Jul 22 Javascript
BootStrap Datepicker 插件修改为默认中文的实现方法
Feb 10 Javascript
Node.js websocket使用socket.io库实现实时聊天室
Feb 20 Javascript
详解ECMAScript typeof用法
Jul 25 Javascript
解决layui中的form表单与button的点击事件冲突问题
Aug 15 Javascript
在vue中解决提示警告 for循环报错的方法
Sep 28 Javascript
微信小程序实现拼图小游戏
Oct 22 Javascript
基于Bootstrap实现Material Design风格表单插件 附源码下载
Apr 18 #Javascript
jQuery 如何给Carousel插件添加新的功能
Apr 18 #Javascript
AngularJS入门教程之AngularJS模型
Apr 18 #Javascript
AngularJS入门教程之AngularJS指令
Apr 18 #Javascript
AngularJS入门教程之AngularJS表达式
Apr 18 #Javascript
jQuery animate和CSS3相结合实现缓动追逐效果附源码下载
Apr 18 #Javascript
jQuery使用$.each遍历json数组的简单实现方法
Apr 18 #Javascript
You might like
《逃离塔科夫》——“萌新劝退,老手自嗨”的硬核FPS游戏
2020/04/03 其他游戏
PHP模板引擎SMARTY
2006/10/09 PHP
简要剖析PHP的Yii框架的组件化机制的基本知识
2016/03/17 PHP
关于php 高并发解决的一点思路
2017/04/16 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
2019/10/15 PHP
php变量与字符串的增删改查操作示例
2020/05/07 PHP
jQuery简单实现图片预加载
2015/04/20 Javascript
JS实现页面载入时随机显示图片效果
2016/09/07 Javascript
10个最优秀的Node.js MVC框架
2017/08/24 Javascript
vue登录注册及token验证实现代码
2017/12/14 Javascript
Nodejs中crypto模块的安全知识讲解
2018/01/03 NodeJs
vue项目中使用百度地图的方法
2018/06/08 Javascript
vue 项目 iOS WKWebView 加载
2019/04/17 Javascript
Element Alert警告的具体使用方法
2020/07/27 Javascript
python+pyqt实现12306图片验证效果
2017/10/25 Python
对TensorFlow中的variables_to_restore函数详解
2018/07/30 Python
PyCharm 设置SciView工具窗口的方法
2019/01/15 Python
Python3匿名函数lambda介绍与使用示例
2019/05/18 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
2019/06/26 Python
Python读取xlsx文件的实现方法
2019/07/04 Python
简单了解python代码优化小技巧
2019/07/08 Python
Python中list的交、并、差集获取方法示例
2019/08/01 Python
Python grpc超时机制代码示例
2020/09/14 Python
细说CSS3中box属性中的overflow-x属性和overflow-y属性值的效果
2014/07/21 HTML / CSS
利用CSS3动画实现圆圈由小变大向外扩散的效果实例
2018/09/10 HTML / CSS
Tiqets英国:智能手机上的文化和娱乐门票
2019/07/10 全球购物
澳洲本土太阳镜品牌:Quay Australia
2019/07/29 全球购物
优秀通讯员事迹材料
2014/01/28 职场文书
美术毕业生求职信
2014/02/25 职场文书
触电现场处置方案
2014/05/14 职场文书
考试保密承诺书
2014/08/30 职场文书
酒店总经理岗位职责
2015/04/01 职场文书
有关保护环境的宣传标语100条
2019/08/07 职场文书
SpringCloud的JPA连接PostgreSql的教程
2021/06/26 Java/Android
Nginx如何获取自定义请求header头和URL参数详解
2022/07/23 Servers