java ajax from post_前台使用jQuery ajax来post form表单,后台java来接参数,为何有些参数接不到?...

前台使用jQuery ajax来post form表单,后台java来接参数,为何有些参数接不到?

以下我贴一下我的前端代码,为了让大佬看的清楚,我简化了一些没必要的东西,希望大佬们能帮我看看,到底是哪里的问题,让后台java接不到参数。

接不到的参数的name有:

upload_pic(多个相同name的upload_pic,是通过上传控件上传图片成功后返回的上传路径)

upload_doc(多个相同name的upload_doc,是通过上传控件上传文档成功后返回的上传路径)

parts_name与parts_remark(这两个是配套的,每次动态添加,都是添加一套)

代码如下:

请选择单位

m(米)

cm(厘米)

请选择单位

kg(千克)

t(吨)

提交

以下是js代码

function checkForm(){

var brand = add.brand.value,

model = add.model.value,

p_length = add.p_length.value,

width = add.width.value,

height = add.height.value,

length_unit = add.length_unit.value,

weight = add.weight.value,

weight_unit = add.weight_unit.value,

remark = $("#remark").val();

/* 产品图 */

var upload_pic = [];

document.getElementsByName('upload_pic').forEach(pic => {

upload_pic.push(pic.value);

});

console.log(JSON.stringify(upload_pic));

/* 设备文档 */

var upload_doc = [];

document.getElementsByName('upload_doc').forEach(doc => {

upload_doc.push(doc.value);

});

console.log(JSON.stringify(upload_doc));

/* 零部件 */

var parts = [];

$("input[name='parts_name']").each(function(i){

var remark = $("input[name='parts_remark']").eq(i);

parts.push({"name": $(this).val(), "remark": remark.val()});

});

console.log(JSON.stringify(parts));

if(!brand){

alert('brand为必填项');

return false;

}else if(!model){

alert('model为必填项');

return false;

}else{

var formData = new Object();

formData["brand"] = brand;

formData["model"] = model;

formData["p_length"] = p_length;

formData["width"] = width;

formData["height"] = height;

formData["length_unit"] = length_unit;

formData["weight"] = weight;

formData["weight_unit"] = weight_unit;

formData["remark"] = remark;

formData["upload_pic"] = upload_pic;

formData["upload_doc"] = upload_doc;

formData["parts"] = parts;

//这里打印了一下,数据没问题,格式也对

console.log(JSON.stringify(formData));

$.ajax({

type: "POST",

cache: false,

timeout: 5000,

url: "后台接口地址",

dataType: "json",

data: formData,

// 头部token验证,以及判断os是pc还是wap,此处java后台正常接收

headers: {'token':'123456','os':'1'},

success: function(data) {

//如何返回0000,则为操作成功,使用layer弹窗提示操作成功并返回列表

if (data.code == '0000') {

layer.msg(data.desc, {icon: 1}, function(){

window.location.href="?act=index"

});

} else {

//使用layer弹窗提示

layer.msg(data.desc, {icon: 5}, function(index){

layer.close(index);

});

}

},

error: function(data) {

//使用layer弹窗提示

layer.msg("提交错误,请重新提交!", {icon: 5}, function(index){

layer.close(index);

});

}

});

}

}

upload_pic,upload_doc

以上2个name的多个相同的元素,是通过上传控件上传成功后,通过控件中的上传成功执行的方法,使用append动态添加的,返回的值是上传路径,已通过打印确认没问题

parts_name与parts_remark(这两个是配套的,每次动态添加,都是添加一套)

配套的这2个name,也是通过js方法动态添加的,每次添加都是一套,他们是对应的

奇怪的是,java后台就是接不到upload_pic,upload_doc,parts_name与parts_remark,这几个参数的值,也是奇怪了

希望大佬们能帮忙看看,到底是哪里的问题,十分感谢,鞠躬!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值