码迷,mamicode.com
首页 > Web开发 > 详细

通过前端上传图片等文件的方法

时间:2018-07-31 17:07:58      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:not   parent   上传文件   php   error   OLE   layui   自动   add   

 1 <script type="text/javascript">
 2 
 3 ##先禁止form表自动提交
 4 $(‘form‘).submit(function () {
 5   return false
 6 })
 7 
 8 ##点击提交
 9 $(‘#add_it‘).click(function(){
10     var formData = new FormData($("form")[0]); //创建一个formData对象,我这里是先把form表里数据 $(‘form‘)[0]都放进去了,因为有图片文件,不能通过append追加进去
11 
12     // formData.append();
13     var spec_str = JSON.stringify(spec); //对象转化为json字符串
14     var note_str = JSON.stringify(note); //对象转化为json字符串
15    
16     ## 下面这些就是可以通过append 追加除了form外的数据进去,这样PHP后台接收的时候除了上传文件用$_FILES接收, 其他都可以用$_POST接收到(post方式)
17     formData.append(‘spec‘,spec_str); 
18     formData.append(‘note‘,note_str);
19     formData.append(‘cid‘,cid);
20     formData.append(‘gid‘,gid);
21     formData.append(‘menu_id‘,menu_id);
22    
23     ##这里要用ajax方法 
24     $.ajax({
25         url: ‘/shopmenu/edit_goods‘,
26         type: ‘POST‘,
27         // data: new FormData($("form")[0]),
28         data: formData,
29         cache: false, #必须
30         processData: false, #必须
31         contentType: false, #必须
32         dataType: ‘json‘,
33         success: function (data) {
34             // var data = $.parseJSON(data);
35             // console.log(data);return;
36             if(data.result){
37                 layer.alert(data.msg, {icon: 6}, function(){
38                     parent.location.reload();
39                     ##下面是layui框架写法的刷新,不必理会
40                     var index = parent.layer.getFrameIndex(window.name);
41                     //关闭当前frame
42                     parent.layer.close(index);
43                     return;
44                 });
45             }else{
46                 layer.msg(data.msg, {icon: 2, time:3000});return;
47             }   
48         }
49     });
50 });
51 </script>        

 

## 上面前端写好后,PHP后端就可以接收到这些信息

 1 $_FILES ##因为是通过form表单上传的,所以都是通过input中的name名字来获取值
 2 ##例如:$_FILES[‘goods_img‘]
 3 
 4 #判断是否有文件上传
 5 if (!empty($_FILES[‘goods_img‘]) && $_FILES[‘goods_img‘][‘error‘] == 0) {
 6     echo "有文件上传,所以error为0且不为空”;
 7 }else{
 8     echo "无文件上传";    
 9 } 
10 
11 ##另外通过post方式传过来的都可以用 $_POST 方法接收到了  

 

通过前端上传图片等文件的方法

标签:not   parent   上传文件   php   error   OLE   layui   自动   add   

原文地址:https://www.cnblogs.com/pyspang/p/9396163.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!