异步的文件或图片上传ajax

这次给大家带来异步的文件或图片上传ajax,异步文件或图片上传ajax的注意事项有哪些,下面就是实战案例,一起来看一下。

众所周知现在的各大网站基本都设有文件上传功能,用户可以把自己喜欢的图片或其他文件放在网上存起来,以便以后用的时候方便去找,可是一个网页的文件上传功能究竟该怎么去设置呢?今天我就以图片上传为例向大家展示文件上传功能的具体步骤。

其实文件上传有两种方法,一种是from表单submit提交,一种是ajax实现异步提交,可是form表单提交有个问题就是每次在上传完成时会刷新界面,不能实现异步上传,所以现在几乎所有网站都采用ajax异步上传,现在我给大家展示ajax异步上传该如何实现。

首先我先创建一个form表单,代码如下:

   用户名:
密码:
性别:男 女 头像:

登录后复制

创建完成后,首先我们要先拿到用户从本上传的图片的信息,代码如下

var imgs=[];//存储图片链接 //为文件上传添加change事件 var fileM=document.querySelector("#file"); $("#file").on("change",function(){  console.log(fileM.files);  //获取文件对象,files是文件选取控件的属性,存储的是文件选取控件选取的文件对象,类型是一个数组  var fileObj=fileM.files[0];  //创建formdata对象,formData用来存储表单的数据,表单数据时以键值对形式存储的。  var formData=new FormData();  formData.append('file',fileObj);

登录后复制

这里的formData就是我们现在要的存储文件信息的对象,然后我们需要把它用ajax请求提交给后台:

  //创建ajax对象  var ajax=new XMLHttpRequest();  //发送POST请求  ajax.open("POST","http://localhost/phpClass/file-upload/move_file.php",true);  ajax.send(formData);  ajax.onreadystatechange=function(){  if (ajax.readyState == 4) {   if (ajax.status>=200 &&ajax.status<300||ajax.status==304) {   console.log(ajax.responseText);   var obj=JSON.parse(ajax.responseText);   alert(obj.msg);   if(obj.err == 0){、    //上传成功后自动动创建img标签放在指定位置    var img =$("异步的文件或图片上传ajax");    $(".con").append(img);    imgs.push(obj.msg);   }else{    alert(obj.msg);   }   }  }  } });

登录后复制

然后我们请求成功后,后台肯定要做出相应的处理,并且把图片存到指定的文件夹里,所以相应的PHP应该完成这些操作:

0,"msg"=>"文件移动成功");  }else{  $infor=array("err"=>1,"msg"=>"文件移动失败");  } }else{  $infor=array("err"=>1,"msg"=>"文件格式不合法"); } echo json_encode($infor); }?>

登录后复制

这样我们就完成了文件上传的所有步骤,如果你想把自己喜欢的图片,上传到自己的网页上,希望这段代码可以帮助到你!

附:如果上传文件时还要附带上你的其它信息,你只需再前端页面请求完成后加上这段代码即可实现:

//完成form表单数据的提交 $('#btn').on('click',function(){//  serializeArray()将form表单控件中的数据序列化成数组,数组中含有若干对象,对象包含对应控件的name和value  var infor = $('#form').serializeArray();//  console.log(infor);  var stu = {};  for (var i=0;i<infor.length;i++) {  var obj=infor[i];  stu[obj.name] = obj.value;  }  stu["imgs"] = imgs;  stu["imgs"] = imgs[0];  //发送ajax请求  $.ajax({  url:"http://localhost/phpClass/file-upload/data.php",  data:{   parameter :JSON.stringify(stu)  },  success:function(res){   console.log(res.msg);  }  }); });

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

ajax传递json时为什么会出现乱码

新手必学的Ajax总结

以上就是异步的文件或图片上传ajax的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2776033.html

(0)
上一篇 2025年3月8日 14:37:53
下一篇 2025年3月8日 14:38:14

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • AJAX的Get请求在微信返回上一页中无效

    这次给大家带来AJAX的Get请求在微信返回上一页中无效,解决AJAX的Get请求在微信返回上一页中无效的注意事项有哪些,下面就是实战案例,一起来看一下。 先给大家分析问题产生原因       最近在做一个微信的项目时,遇到一种很常见的情况…

    编程技术 2025年3月8日
    200
  • Ajax进行文件与参数上传步奏详解

    这次给大家带来Ajax进行文件与参数上传步奏详解,Ajax进行文件与参数上传的注意事项有哪些,下面就是实战案例,一起来看一下。 文件上传: 记得前一段时间,为了研究Ajax文件上传,找了很多资料,在网上看到的大部分是form表单的方式提交文…

    编程技术 2025年3月8日
    200
  • Ajax打开新窗口被拦截时如何处理

    这次给大家带来Ajax打开新窗口被拦截时如何处理,处理Ajax打开新窗口被拦截的注意事项有哪些,下面就是实战案例,一起来看一下。 最近在做支付时发现打开支付窗口时被浏览器拦截了,百度了一下才发现是因为打开窗口前用ajax验证是否能支付,所以…

    编程技术 2025年3月8日
    200
  • Ajax提交参数时html标签提交失败如何处理

    这次给大家带来Ajax提交参数时html标签提交失败如何处理,处理Ajax提交参数时html标签提交失败的注意事项有哪些,下面就是实战案例,一起来看一下。 最近在公司做资源及文章上传功能遇到一个小问题,被坑了好半天。         该功能…

    编程技术 2025年3月8日
    200
  • Ajax提交表单页面后阻止刷新的方法

    这次给大家带来Ajax提交表单页面后阻止刷新的方法,Ajax提交表单页面后阻止刷新的注意事项有哪些,下面就是实战案例,一起来看一下。 注:使用ajax 提交表单时 type类型最好不用submit 用button合适 function fo…

    编程技术 2025年3月8日
    200
  • Ajax怎么操作post请求跳转页面

    这次给大家带来Ajax怎么操作post请求跳转页面,Ajax操作post请求跳转页面的注意事项有哪些,下面就是实战案例,一起来看一下。 最近因为公司需求,需要ajax post请求并跳转界面,网上搜了一下资料,差不多都是用window.lo…

    编程技术 2025年3月8日
    200
  • 在Lavarel框架中ajax需要怎么提交表单

    这次给大家带来在Lavarel框架中ajax需要怎么提交表单,在Lavarel框架中ajax提交表单的注意事项有哪些,下面就是实战案例,一起来看一下。 laravel简介: Laravel是一套简洁、优雅的PHP Web开发框架(PHP W…

    编程技术 2025年3月8日
    200
  • Ajax实现加载进度条的步奏详解

    这次给大家带来Ajax实现加载进度条的步奏详解,Ajax实现加载进度条的注意事项有哪些,下面就是实战案例,一起来看一下。 ajax beforeSend: 先说说这个 beforeSend, 在请求发送前执行 比如 可以判断用户有没有登录 …

    编程技术 2025年3月8日
    200
  • Ajax怎么做出关键字智能匹配搜索

    这次给大家带来Ajax怎么做出关键字智能匹配搜索,Ajax做出关键字智能匹配搜索的注意事项有哪些,下面就是实战案例,一起来看一下。 准备数据keyword.json:(这里只贴出部分数据) [ {“id”:1,”initial”:”ad”,…

    2025年3月8日
    200
  • 使用Ajax实现根据人力资源系统数据增加OA账号的方法

    这次给大家带来使用Ajax实现根据人力资源系统数据增加OA账号的方法,使用Ajax实现根据人力资源系统数据增加OA账号的的注意事项有哪些,下面就是实战案例,一起来看一下。 本次小飞鱼开发的程序主要解决某下属公司在人力系统中增加账号不能马上审…

    2025年3月8日
    200

发表回复

登录后才能评论