原生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 相关文章推荐
关于this和self的使用说明
Aug 01 Javascript
jquery解析JSON数据示例代码
Mar 17 Javascript
JavaScript将数字转换成大写中文的方法
Mar 23 Javascript
Angular.js中$apply()和$digest()的深入理解
Oct 13 Javascript
jquery控制页面的展开和隐藏实现方法(推荐)
Oct 15 Javascript
vue2 中如何实现动态表单增删改查实例
Jun 09 Javascript
JavaScript之RegExp_动力节点Java学院整理
Jun 29 Javascript
JavaScript hasOwnProperty() 函数实例详解
Aug 04 Javascript
微信小程序排坑指南详解
May 23 Javascript
vue结合element-ui使用示例
Jan 24 Javascript
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
Oct 26 Javascript
vue通过过滤器实现数据格式化
Jul 20 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
require(),include(),require_once()和include_once()的异同
2007/01/02 PHP
解析func_num_args与func_get_args函数的使用
2013/06/24 PHP
php颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
2013/09/23 PHP
浅谈php和.net的区别
2014/09/28 PHP
PHP实现采集中国天气网未来7天天气
2014/10/15 PHP
PHP获取youku视频真实flv文件地址的方法
2014/12/23 PHP
thinkphp配置文件路径的实现方法
2016/08/30 PHP
Yii输入正确验证码却验证失败的解决方法
2017/06/06 PHP
php报错502badgateway解决方法
2019/10/11 PHP
浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法
2019/10/12 PHP
js jquery做的图片连续滚动代码
2008/01/06 Javascript
javascript里模拟sleep(两种实现方式)
2013/01/25 Javascript
用js实现控件的隐藏及style.visibility的使用
2013/06/14 Javascript
JS加jquery简单实现标签元素的显示或隐藏
2013/09/23 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
2014/01/07 Javascript
Javascript实现的Map集合工具类完整实例
2015/07/31 Javascript
基于jQuery通过jQuery.form.js插件使用ajax提交form表单
2015/08/17 Javascript
JS+Ajax实现百度智能搜索框
2017/08/04 Javascript
深入浅析var,let,const的异同点
2018/08/07 Javascript
详解Puppeteer前端自动化测试实践
2019/02/21 Javascript
Vue函数式组件-你值得拥有
2019/05/09 Javascript
原生js实现分页效果
2020/09/23 Javascript
解决新建一个vue项目过程中遇到的问题
2020/10/22 Javascript
Python 专题六 局部变量、全局变量global、导入模块变量
2017/03/20 Python
Python实现获取磁盘剩余空间的2种方法
2017/06/07 Python
Python如何生成树形图案
2018/01/03 Python
python 中if else 语句的作用及示例代码
2018/03/05 Python
Django中使用Celery的方法示例
2018/11/29 Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
2019/06/18 Python
python图片合成的示例
2020/11/09 Python
html5 css3实例教程 一款html5和css3实现的小机器人走路动画
2014/10/20 HTML / CSS
参观监狱心得体会
2014/01/02 职场文书
大学毕业自我评价
2014/02/02 职场文书
毕业生实习证明
2014/09/19 职场文书
小学家庭教育心得体会
2016/01/14 职场文书
解析redis hash应用场景和常用命令
2021/08/04 Redis