公司最近在做layui的ui框架,遇到添加信息的时候form表单一直以get方式提交,就是将参数拼接在url后面,一般的都没问题,但是如果遇到参数内容过多等就会遇到413代码问题。
针对这个问题,layui默认form提交方式是get,即使改变源码也不管用。需要另外写post提交,ajax提交。
上代码:
$("#personnelAdd").click(function () {
layer.open({
type: 1,
title: "添加人才信息",
skin: 'layui-layer-rim',
area: ['600px', '630px'],
content: '<div style="padding: 20px">\n' +
' <form class="layui-form" enctype="text/plain">\n' +
' <div class="layui-form-item layui-form-text">\n' +
' <label class="layui-form-label">工作经验</label>\n' +
' <div class="layui-input-block">\n' +
' <textarea id="workExperience" placeholder="请输入内容" name="workExperience" class="layui-textarea"></textarea>\n' +
' </div>\n' +
' </div>\n' +
' <div style="text-align: center">\n' +
' <button class="layui-btn layui-btn-normal" lay-submit lay-filter="add_personnel">保存</button>\n' +
' </div>\n' +
' </form>\n' +
'</div>'
});
});
//添加提交
layui.form.on('submit(add_personnel)', function (data) {
common.ajaxPost(layui.cache.host + '/personnel/info/save', data.field, function (res) { //ajax提交封装好的
layer.alert(JSON.stringify(res));
window.parent.location.reload();
});
layer.closeAll();
})
})
ajax提交即使谢了post提交到最后也是get提交,所以要在layui.form.on中加上return false;
修改后ajax提交
layui.form.on('submit(add_personnel)', function (data) {
common.ajaxPost(layui.cache.host + '/personnel/info/save', data.field, function (res) { //ajax提交封装好的
layer.alert(JSON.stringify(res));
window.parent.location.reload();
});
layer.closeAll();
return false; //新增这句话才能正确的用post提交
})
})