总结:ajax上传图片有几种方式 -php+ajax上传文件

10 篇文章 0 订阅

第一种:直接利用jquery $.ajax上传

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>

</head>
<body>

<form  enctype="multipart/form-data">	
<input type="file" name="myfile" id="fileid">

//第三种方法使用按钮
<input type="button" value="tijiao" id="filesubmit">

</form>
<script src="/static/jquery.2.1.1.min.js"></script>
<script src="/static/ajax_file_upload.js"></script>	
<script src="https://cdn.bootcss.com/jquery.form/4.2.2/jquery.form.js
"></script>	
<script>
$("#fileid").change(function(){
filedata=new FormData();//必须
filedata.append('filearr',$("#fileid")[0].files[0]);//必须
$.ajax({
            url: "{:url('uploads')}", //用于文件上传的服务器端请求地址
            dataType: 'json', //返回值类型 一般设置为json
            type: 'post',
            data:filedata,
            async:false,//必须
            contentType:false,//必须
            processData:false,//必须
            //cache:false,
           
            success: function (data, status)  //服务器成功响应处理函数
            {
                console.log(data)
               // return;
                // 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>
</html>

//说明php后端接受的数据$_FILES['filearr']

第二种:利用 ajax_file_upload  $.ajaxFileUpload上传

<script>
$("#fileid").change(function(){
$.ajaxFileUpload({
            url: "{:url('uploads')}", //用于文件上传的服务器端请求地址
            secureuri: false, //是否需要安全协议,一般设置为false
            fileElementId: 'fileid', //文件上传域的ID
            dataType: 'json', //返回值类型 一般设置为json
            type: 'post',
            success: function (data, status)  //服务器成功响应处理函数
            {
                console.log(data)
                return;
                // 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>	

 第三种:利用jquery.form.js  ajaxForm或ajaxSubmit上传

<script>

$(function(){

var abc={
//url:"{:url('upl')}",      //form提交数据的地址
type:'post',     //form提交的方式(method:post/get)
beforeSerialize:function(){}, //序列化提交数据之前的回调函数
beforeSubmit:function(){},  //提交前执行的回调函数
success:function(data){ console.log(data)}
};

 //第一种提交方式:
 $("form").ajaxform(abc);按钮type必须submit



//第二种提交方式:
 $("#filesubmit").click(function(){//按钮type,button或submit都可
 	 $("form").ajaxSubmit(abc);
 	 return false;
 })


/*ajaxForm执行的时候其实相当于

 $("form").submit(function(){
            $(this).ajaxSubmit();
            return false;        //此句解释了为什么ajaxForm会自动提交表单,想要阻止自动提交,必须return false;
        })*/


})
</script>

其实还有多种方式,在这里就介绍三种常用的ajax上传方法,后端上传方法就不在此说明了,童鞋们,可以自己逐一试试呢!

希望对你的学习有帮助! 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值