原生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 相关文章推荐
JS事件Event元素(兼容IE,Firefox,Chorme)
Nov 01 Javascript
window.onresize 多次触发的解决方法
Nov 08 Javascript
jQuery插件slicebox实现3D动画图片轮播切换特效
Apr 12 Javascript
JavaScript学习笔记整理_简单实现枚举类型,扑克牌应用
Sep 19 Javascript
一篇文章搞定JavaScript类型转换(面试常见)
Jan 21 Javascript
vue2.0 实现导航守卫的具体用法(路由守卫)
May 17 Javascript
利用Vue构造器创建Form组件的通用解决方法
Dec 03 Javascript
iview实现select tree树形下拉框的示例代码
Dec 21 Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
May 14 Javascript
世界上最短的数字判断js代码
Sep 09 Javascript
详解如何在JS代码中消灭for循环
Dec 11 Javascript
es6数组的flat(),flatMap()函数用法实例分析
Apr 18 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
PHP静态类
2006/11/25 PHP
php magic_quotes_gpc的一点认识与分析
2008/08/18 PHP
PHP 文件上传全攻略
2010/04/28 PHP
php面向对象之反射功能与用法分析
2017/03/29 PHP
JS宝典学习笔记(下)
2007/01/10 Javascript
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
2012/02/27 Javascript
灵活应用js调试技巧解决样式问题的步骤分享
2012/03/15 Javascript
JQuery中使用on方法绑定hover事件实例
2014/12/09 Javascript
JavaScript中的数组操作介绍
2014/12/30 Javascript
jQuery实现页面下拉100像素出现悬浮窗口的方法
2016/09/05 Javascript
ES6新特征数字、数组、字符串
2016/10/01 Javascript
javascript轮播图算法
2016/10/21 Javascript
老生常谈jquery中detach()和remove()的区别
2017/03/02 Javascript
layui前段框架日期控件使用方法详解
2017/05/19 Javascript
详解AngularJS 模块化
2017/06/14 Javascript
原生js jquery ajax请求以及jsonp的调用方法
2017/08/04 jQuery
微信小程序第三方框架对比 之 wepy / mpvue / taro
2019/04/10 Javascript
jquery实现烟花效果(面向对象)
2020/03/10 jQuery
[01:08:00]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
django 自定义用户user模型的三种方法
2014/11/18 Python
python使用epoll实现服务端的方法
2018/10/16 Python
为什么从Python 3.6开始字典有序并效率更高
2019/07/15 Python
Python制作微信好友背景墙教程(附完整代码)
2019/07/17 Python
Django Serializer HiddenField隐藏字段实例
2020/03/31 Python
python利用tkinter实现图片格式转换的示例
2020/09/28 Python
python实现银行账户系统
2021/02/22 Python
带你认识HTML5中的WebSocket
2015/05/22 HTML / CSS
Orlebar Brown官网:设计师泳裤和泳装
2020/12/08 全球购物
师范大学应届生求职信
2013/11/21 职场文书
服务口号大全
2014/06/11 职场文书
毕业典礼致辞
2015/07/29 职场文书
求职信如何撰写?
2019/05/22 职场文书
apache基于端口创建虚拟主机的示例
2021/04/22 Servers
用Python创建简易网站图文教程
2021/06/11 Python
Python IO文件管理的具体使用
2022/03/20 Python
《吸血鬼幸存者》新内容发布 追加多个全新模式
2022/04/07 其他游戏