一、下面先给出代码,然后再来解释说明:
一定要记得设置跨域请求中的权限问题哦,不会的可以看另一篇文章:
文章:AJAX跨域请求,jquery ajax跨域报500,解决ajax跨域的解决办法!
前端html(域1):
<input id="appImgs" name="image" type="file" accept="image/*"> <select name="catid"> <option value="1">生活照</option> <option value="2">游玩照</option> <option value="3">风景照</option> </select> <input type="text" name="des"> <button onclick="uploads();">确认上传</button>
AJAX部分(域1):
<script> function uploads(param){ var oFiles = document.querySelector("#appImgs").files; // 组装数据(文件数据,普通数据) var formData = new FormData(); formData.append('image', oFiles[0]); formData.append('des' , $("input[name='des']").val()); formData.append('catid', $("select[name='catid']").val()); $.ajax({ type: 'POST', url: '请求地址', data: formData, cache: false, contentType: false, processData: false, success: function(obj) { var data = eval("("+obj+")"); if(data.code==1){ alert('上传成功'); }else{ alert('上传失败'); } }, error:function(e){ alert('error'); } }); } </script>
PHP部分(域2):
// 普通数据接收 $data = [ 'des' => $_POST['des'], 'catid' => $_POST['catid'] ]; //图片接收上传 if(!empty($_FILES['image'])){ $img = config('image')['image'].get_uniqid(); $data['image'] = $img.'.'.pathinfo($_FILES['image']['name'])['extension']; if(!copy ( $_FILES['image']['tmp_name'] ,$data['image'] )) json(0, '图片上传失败'); }else{ json(0, '请选择图片上传'); } // 其他逻辑代码 json(1, '图片上传成功');
【注意:】
按照上面的是请求不了,上传不了图片的哦。还需要设置一下权限问题:
请看另一篇文章:AJAX跨域请求,jquery ajax跨域报500,解决ajax跨域的解决办法!
转载请注明来源地址:小川编程 » https://www.youhutong.com/index.php/article/index/137.html
1、本站发布的内容仅限用于学习和研究目的.请勿用于商业或非法用途,下载后请24小时内删除。
2、本站所有内容均不能保证其完整性,不能接受请勿购买或下载,如需完整程序,请去其官方购买正版使用
3、本站联系方式Email:admin@youhutong.com ,收到邮件会第一时间处理。
4、如侵犯到任何版权问题,请立即告知本站(立即在线告知),本站将及时删除并致以最深的歉意