公司最近在做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提交
})
})