<script type="text/javascript"> ##先禁止form表自动提交 $('form').submit(function () { return false }) ##点击提交 $('#add_it').click(function(){ var formData = new FormData($("form")[0]); //创建一个formData对象,我这里是先把form表里数据 $('form')[0]放进去了,因为有图片文件,不能通过append追加进去 // formData.append(); var spec_str = JSON.stringify(spec); //对象转化为json字符串 var note_str = JSON.stringify(note); //对象转化为json字符串 ## 下面这些就是可以通过append 追加除了form外的数据进去,这样PHP后台接收的时候除了上传文件用$_FILES接收, 其他都可以用$_POST接收到(post方式) formData.append('spec',spec_str); formData.append('note',note_str); formData.append('cid',cid); formData.append('gid',gid); formData.append('menu_id',menu_id); ##这里要用ajax方法 $.ajax({ url: '/shopmenu/edit_goods', type: 'POST', // data: new FormData($("form")[0]), data: formData, cache: false, #必须 processData: false, #必须 contentType: false, #必须 dataType: 'json', success: function (data) { // var data = $.parseJSON(data); // console.log(data);return; if(data.result){ layer.alert(data.msg, {icon: 6}, function(){ parent.location.reload(); ##下面是layui框架写法的刷新,不必理会 var index = parent.layer.getFrameIndex(window.name); //关闭当前frame parent.layer.close(index); return; }); }else{ layer.msg(data.msg, {icon: 2, time:3000});return; } } }); }); </script>
## 上面前端写好后,PHP后端就可以接收到这些信息
$_FILES ##因为是通过form表单上传的,所以都是通过input中的name名字来获取值 ##例如:$_FILES['goods_img'] #判断是否有文件上传 if (!empty($_FILES['goods_img']) && $_FILES['goods_img']['error'] == 0) { echo "有文件上传,所以error为0且不为空”; }else{ echo "无文件上传"; } ##另外通过post方式传过来的都可以用 $_POST 方法接收到了