本文实例为大家分享了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 使用 yansongda/pay 进行微信,支付宝支付
Codeforces Round #658 (Div. 2) (C1、C2)
van-uploader + thinkphp6.0 图片上传
网友评论