第一:由于layui官方是没有csrf_token处理机制,所以,在使用layui中post请求,请不要按layui官方提供的两种方法进行设置
官方设置如下:
table.render({ elem: '#demp' ,url: '/ceshi/' ,method:'post' ,headers: {token: 'sasasas'} } //,…… //其他参数 }); 或者 table.render({ elem: '#demp' ,url: '/ceshi/' ,method:'post' ,where: {token: 'sasasas', id: 123} } //,…… //其他参数 });
注意:按以上设置是永远都用不了
需要把参数改为django机制的csrfmiddlewaretoken机制,并且需要在静态的html中插入{% csrf_token %}
首先在js中获取 var token_value = $('[name="csrfmiddlewaretoken"]').val();
table.render({ elem: '#demp' ,url: '/ceshi/' ,method:'post' ,headers: {csrfmiddlewaretoken: token_value} } //,…… //其他参数 }); 或者 table.render({ elem: '#demp' ,url: '/ceshi/' ,method:'post' ,where: {csrfmiddlewaretoken: token_value, id: 123} } //,…… //其他参数 });
第二:layui中对表单中select赋值的处理
1.首先需要引入form,对于直行赋值,并重新加载,
layui.use('form', function() { var form = layui.form; $("#interest_glocal").val("写作"); #对value直接赋值 form.render(); #赋值完,必须重新加载,这个一步很重要 });