原生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操作页面表格,元素的一些技巧
Feb 02 Javascript
javascript 兼容FF的onmouseenter和onmouseleave的代码
Jul 19 Javascript
jQuery 锚点跳转滚动条平滑滚动一句话代码
Apr 30 Javascript
jQuery版仿Path菜单效果
Dec 15 Javascript
JavaScript高级程序设计 读书笔记之十一 内置对象Global
Mar 07 Javascript
JavaScript window.location对象
Nov 14 Javascript
微信小程序 绘图之饼图实现
Oct 24 Javascript
详解用node.js实现简单的反向代理
Jun 26 Javascript
解决vue中对象属性改变视图不更新的问题
Feb 23 Javascript
解决IOS端微信H5页面软键盘弹起后页面下方留白的问题
Jun 05 Javascript
vue项目从node8.x升级到12.x后的问题解决
Oct 25 Javascript
小程序使用分包的示例代码
Mar 23 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魔术变量用法实例详解
2014/11/13 PHP
基于jquery.Jcrop的头像编辑器
2010/03/01 Javascript
JavaScript与Image加载事件(onload)、加载状态(complete)
2011/02/14 Javascript
ie支持function.bind()方法实现代码
2012/12/27 Javascript
javascript代码运行不出来执行错误的可能情况整理
2013/10/18 Javascript
javascript控制Div层透明属性由浅变深由深变浅逐渐显示
2013/11/12 Javascript
jquery清空表单数据示例分享
2014/02/13 Javascript
使用JQuery库提供的扩展功能实现自定义方法
2014/09/09 Javascript
JavaScript严格模式详解
2015/11/18 Javascript
Bootstrap框架实现广告轮播效果
2016/11/28 Javascript
js实现复选框的全选和取消全选效果
2017/01/03 Javascript
javascript滚轮事件基础实例讲解(37)
2017/02/14 Javascript
JavaScript登录记住密码操作(超简单代码)
2017/03/22 Javascript
ionic 自定义弹框效果
2017/06/27 Javascript
vue-cli 使用vue-bus来全局控制的实例讲解
2018/09/15 Javascript
Vue 框架之动态绑定 css 样式实例分析
2018/11/14 Javascript
微信公众号H5支付接口调用方法
2019/01/10 Javascript
小白教程|一小时上手最流行的前端框架vue(推荐)
2019/04/10 Javascript
微信小程序云开发修改云数据库中的数据方法
2019/05/18 Javascript
浅谈ECMAScript 中的Array类型
2019/06/10 Javascript
JavaScript如何处理移动端拍摄图片旋转问题
2019/11/16 Javascript
Vue Object 的变化侦测实现代码
2020/04/15 Javascript
linux系统使用python监测系统负载脚本分享
2014/01/15 Python
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
2018/03/19 Python
Django 后台带有字典的列表数据与页面js交互实例
2020/04/03 Python
CSS3 实现飘动的云朵动画
2020/12/01 HTML / CSS
关联、聚合(Aggregation)以及组合(Composition)的区别
2012/02/29 面试题
工程部主管岗位职责
2013/11/17 职场文书
工厂标语大全
2014/10/06 职场文书
学雷锋献爱心倡议书
2015/04/27 职场文书
党员转正意见怎么写
2015/06/03 职场文书
交通处罚决定书
2015/06/24 职场文书
python读取pdf格式文档的实现代码
2021/04/01 Python
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
2021/04/17 Vue.js
JavaWeb实现显示mysql数据库数据
2022/03/19 Java/Android
python计算列表元素与乘积详情
2022/08/05 Python