套模板上传图片的时候,可以单独只传个图片,单独请求一个后台操作路由,然后再请求一个页面的路由,把需要上传的参数再写一遍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
微信打赏
支付宝打赏
感谢您对作者Niki的打赏,我们会更加努力! 如果您想成为作者,请点我