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数据库抽象层 PDO
May 07 PHP
PHP利用REFERER根居访问来地址进行页面跳转
Sep 28 PHP
教你如何用php实现LOL数据远程获取
Jun 10 PHP
PHP生成二维码的两个方法和实例
Jul 01 PHP
php数组保存文本与文本反编成数组实例
Nov 13 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
Jan 05 PHP
php获取开始与结束日期之间所有日期的方法
Nov 29 PHP
Zend Framework实现自定义过滤器的方法
Dec 09 PHP
浅谈PHP面向对象之访问者模式+组合模式
May 22 PHP
PHP 应用容器化以及部署方法
Feb 12 PHP
laravel 使用auth编写登录的方法
Sep 30 PHP
ThinkPHP 框架实现的读取excel导入数据库操作示例
Apr 14 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
php处理斐波那契数列非递归方法
2012/02/04 PHP
Linux下创建nginx脚本-start、stop、reload…
2014/08/03 PHP
getJSON跨域SyntaxError问题分析
2014/08/07 PHP
php+mysql数据库查询实例
2015/01/21 PHP
php微信公众号开发(4)php实现自定义关键字回复
2016/12/15 PHP
PHP递归删除多维数组中的某个值
2017/04/17 PHP
RR vs IO BO3 第一场2.13
2021/03/10 DOTA
js获取网页高度(详细整理)
2012/12/28 Javascript
解析javascript 浏览器关闭事件
2013/07/08 Javascript
JavaScript原生对象之String对象的属性和方法详解
2015/03/13 Javascript
自己编写的支持Ajax验证的JS表单验证插件
2015/05/15 Javascript
js html css实现复选框全选与反选
2016/10/09 Javascript
canvas滤镜效果实现代码
2017/02/06 Javascript
requirejs按需加载angularjs文件实例
2017/06/08 Javascript
20行JS代码实现网页刮刮乐效果
2017/06/23 Javascript
彻底理解js面向对象之继承
2018/02/04 Javascript
vue axios数据请求get、post方法及实例详解
2018/09/11 Javascript
详解@angular/cli 改变默认启动端口两种方式
2018/11/29 Javascript
使用vue制作滑动标签
2019/09/21 Javascript
原生js实现瀑布流效果
2020/03/09 Javascript
[04:15]DOTA2-DPC中国联赛1月19日Recap集锦
2021/03/11 DOTA
Python实现Linux中的du命令
2017/06/12 Python
Python基于gevent实现文件字符串查找器
2020/08/11 Python
解决CSS3 transition-delay 属性默认值0不带单位失效的问题
2020/10/29 HTML / CSS
html5借用repeating-linear-gradient实现一把刻度尺(ruler)
2019/09/09 HTML / CSS
雅诗兰黛美国官网:Estee Lauder美国
2016/07/21 全球购物
希腊品牌鞋类销售网站:epapoutsia.gr
2020/03/18 全球购物
北京银河万佳Java面试题
2012/03/21 面试题
室内设计专业个人的自我评价
2013/10/19 职场文书
三方协议书
2015/01/27 职场文书
财务部会计岗位职责
2015/02/03 职场文书
教师求职信怎么写
2015/03/20 职场文书
2016年党校科级干部培训班学习心得体会
2016/01/06 职场文书
浅析Django接口版本控制
2021/06/26 Python
利用Java连接Hadoop进行编程
2022/06/28 Java/Android
MySQL中LAG()函数和LEAD()函数的使用
2022/08/14 MySQL