ajax传图片以及后台接收,ajax获取图片,连同参数一起传给后台【原创】

本文介绍如何在点击按钮时,通过Ajax同时上传图片和页面参数到同一个后台接口。通过创建FormData对象,将图片文件和各项参数追加进去,然后使用Ajax进行POST请求,实现数据与图片的一次性提交。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

套模板上传图片的时候,可以单独只传个图片,单独请求一个后台操作路由,然后再请求一个页面的路由,把需要上传的参数再写一遍ajax请求后台。但是,如果后台要求把图片的参数和页面的参数一起传给后台,上传图片和上传页面参数的操作路由是同一个时,这时候我们就只能一起上传过去了,现在来看代码吧。

$('body').on('click','.btn_sub',function () {

var goods_id = '{{ data.goods_id|default }}';

var goods_category_id = $('#goods_category_second option:selected').val();

var goods_name = $('#goods_name').val();

var gold = $('#goods_price').val();

var expired_at = $('#goods_validity').val();

var free_level = $('#goods_level option:selected').val();

var position = $('#goods_place').val();

var _this = $(this);

var _file = $("#file_upload"); //获取图片 (input type=file 的id)

var data = new FormData(); //定义data变量 使用formdata()变量提交表单

data.append('goods_id', goods_id); //追加参数(前者是上传的参数名,后者时上传的变量值)

data.append('photo', _file[0].files[0]); //获取图片的路径

data.append('goods_category_id',goods_category_id);

data.append('goods_name',goods_name);

data.append('gold',gold);

data.append('expired_at',expired_at);

data.append('free_level',free_level);

data.append('position',position);

$.ajax({

url: "{{ path('goods_insert_goods') }}", //上传参数和图片的URL

type:"post",

data: data, //上传的数据

processData: false,

contentType: false,

dataType:"json",

success:function(json,statusText){

if(json.errorCode == 0){

alert(json.message);

location.href ="{{ path('goods_goods_manage') }}"

}else{

alert(json.message);

}

},

error:function(){

alert('网络异常');

}

});

});

转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/19741.html

75d087ef9a9fb11dc373caaf33adbf7f.png

微信打赏

支付宝打赏

感谢您对作者Niki的打赏,我们会更加努力!    如果您想成为作者,请点我

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值