php+ajax实现无刷新文件上传功能(ajaxuploadfile)


Posted in PHP onFebruary 11, 2018

本文实例为大家分享了php+ajax实现无刷新文件上传的具体代码,供大家参考,具体内容如下

文件上传的表单格式

<form id="uploadform" enctype="multipart/form-data" name="uploadform" method="post" >
  <input id="fileToUpload" type="file" name="fileToUpload" class="uploadinput" >
  <input id="add_file" type="button" value="提交">
</form>

AjaxFileUpload实现文件异步上传效果更好,使用简单:

<!DOCTYPE html>
 <html>
  <head>
   <title></title>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
   <script type="text/javascript" src="http://www.phpddt.com/usr/themes/dddefault/jquery-1.4.2.min.js"></script>
   <script type="text/javascript" src="ajaxfileupload.js"></script>
  </head>
 <script>
 jQuery(function(){ 
  $("#buttonUpload").click(function(){  
   //加载图标 
   /* $("#loading").ajaxStart(function(){
   $(this).show();
   }).ajaxComplete(function(){
   $(this).hide();
   });*/
   //上传文件
  $.ajaxFileUpload({
   url:'upload.php',//处理图片脚本
   secureuri :false,
   fileElementId :'fileToUpload',//file控件id
   dataType : 'json',
   success : function (data, status){
    if(typeof(data.error) != 'undefined'){
     if(data.error != ''){
      alert(data.error);
     }else{
      alert(data.msg);
     }
    }
   },
   error: function(data, status, e){
    alert(e);
   }
 })
 return false;
  }) 
 })
 </script>
  <body>
   <input id="fileToUpload" type="file" size="20" name="fileToUpload" class="input">
   <button id="buttonUpload">上传</button>
  </body>
 </html>

上传还可以传递参数:

var data = { name: 'my name', description: 'short description' } 
  $.ajaxFileUpload({
   url: 'upload.php',
   secureuri: false,
   data: data,
   fileElementId: 'fileToUpload',
   dataType: 'json',
   success: function (data) {
    alert(data.msg);

   },
   error: function (data) {
    alert("error");
   }
  });

主要参数说明:

1、url表示处理文件上传操作的文件路径,可以测试URL是否能在浏览器中直接访问,如上:upload.php
2、fileElementId表示文件域ID,如上:fileToUpload
3、secureuri是否启用安全提交,默认为false
4、dataType数据数据,一般选json,javascript的原生态
5、success提交成功后处理函数
6、error提交失败处理函数

需要了解相关的错误提示

1、SyntaxError: missing ; before statement错误

如果出现这个错误就需要检查url路径是否可以访问

2,SyntaxError: syntax error错误

如果出现这个错误就需要检查处理提交操作的PHP文件是否存在语法错误

3、SyntaxError: invalid property id错误

如果出现这个错误就需要检查属性ID是否存在

4、SyntaxError: missing } in XML expression错误

如果出现这个错误就需要检查文件域名称是否一致或不存在

5、其它自定义错误

大家可使用变量$error直接打印的方法检查各参数是否正确,比起上面这些无效的错误提示还是方便很多。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
有关 PHP 和 MySQL 时区的一点总结
Mar 26 PHP
php面向对象的方法重载两种版本比较
Sep 08 PHP
PHP5 字符串处理函数大全
Mar 23 PHP
用PHP+MySQL搭建聊天室功能实例代码
Aug 20 PHP
PHP中4个加速、缓存扩展的区别和选用建议
Mar 12 PHP
Yii 快速,安全,专业的PHP框架
Sep 03 PHP
php从完整文件路径中分离文件目录和文件名的方法
Mar 13 PHP
php访问数组最后一个元素的函数end()用法
Mar 18 PHP
yii添删改查实例
Nov 16 PHP
既简单又安全的PHP验证码 附调用方法
Jun 02 PHP
thinkPHP框架实现多表查询的方法
Jun 14 PHP
php 解析非标准json、非规范json
Apr 01 PHP
PHP实现的多维数组排序算法分析
Feb 10 #PHP
ThinkPHP整合datatables实现服务端分页的示例代码
Feb 10 #PHP
PHP实现APP微信支付的实例讲解
Feb 10 #PHP
PHP有序表查找之插值查找算法示例
Feb 10 #PHP
PHP有序表查找之二分查找(折半查找)算法示例
Feb 09 #PHP
php在windows环境下获得cpu内存实时使用率(推荐)
Feb 08 #PHP
PHP基于redis计数器类定义与用法示例
Feb 08 #PHP
You might like
[原创]ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法
2015/10/10 PHP
CI配置多数据库访问的方法
2016/03/28 PHP
解决yii2左侧菜单子级无法高亮问题的方法
2016/05/08 PHP
使用php从身份证号中获取一系列线索(星座、生肖、生日等)
2016/05/11 PHP
php使用pdo连接sqlite3的配置示例
2016/05/27 PHP
magento后台无法登录解决办法的两种方法
2016/12/09 PHP
php实现PDO中捕获SQL语句错误的方法
2017/02/16 PHP
Aster vs KG BO3 第三场2.18
2021/03/10 DOTA
js内置对象 学习笔记
2011/08/01 Javascript
基于jquery实现漂亮的动态信息提示效果
2011/08/02 Javascript
JQuery统计input和textarea文字输入数量(代码分享)
2016/12/29 Javascript
JavaScript实现的仿新浪微博原生态输入字数即时检查功能【兼容IE6】
2017/09/26 Javascript
JS引用传递与值传递的区别与用法分析
2018/06/01 Javascript
vue树形结构获取键值的方法示例
2018/06/21 Javascript
打通前后端构建一个Vue+Express的开发环境
2018/07/17 Javascript
jquery实现自定义树形表格的方法【自定义树形结构table】
2019/07/12 jQuery
基于Vue的商品主图放大镜方案详解
2019/09/19 Javascript
js与jquery获取input输入框中的值实例讲解
2020/02/27 jQuery
[04:56]经典回顾:前Ehome 与 前LGD
2015/02/26 DOTA
Python中encode()方法的使用简介
2015/05/18 Python
python 递归遍历文件夹,并打印满足条件的文件路径实例
2017/08/30 Python
Python内置模块hashlib、hmac与uuid用法分析
2018/02/12 Python
Python聊天室程序(基础版)
2018/04/01 Python
Python实现模拟浏览器请求及会话保持操作示例
2018/07/30 Python
Numpy 改变数组维度的几种方法小结
2018/08/02 Python
Python实现的大数据分析操作系统日志功能示例
2019/02/11 Python
python单线程文件传输的实例(C/S)
2019/02/13 Python
Python面向对象之类和实例用法分析
2019/06/08 Python
python3在同一行内输入n个数并用列表保存的例子
2019/07/20 Python
解决python Jupyter不能导入外部包问题
2020/04/15 Python
python中round函数保留两位小数的方法
2020/12/04 Python
学校消防安全制度
2014/01/30 职场文书
建筑安全员岗位职责
2014/03/13 职场文书
县政府领导班子“四风”方面突出问题整改措施
2014/09/23 职场文书
护士实习自荐信
2015/03/06 职场文书
班级联欢会主持词
2015/07/03 职场文书