问题如题所示:IE浏览器,在页面停留大约1分钟左右,点击页面提交Post请求时,后台无法获取到请求参数,F12查看发现Content-Length为0

解决方案 »

  1.   

    看看你的post方法可好?
      

  2.   


    目前发现:这个问题只在IE浏览器停留大约1分钟左右出现,谷歌和火狐没有问题。
    几种不同方式的POST写法都有出现这个问题,下面是其中的一个form提交的方式: $('#fm').form('submit',{
      url: url,  
      onSubmit: function(){
      return $(this).form('validate');
      },
    success: function(result){
    var result = eval('('+result+')');
    if (result.success){
      $('#dlg').dialog('close'); 
      $('#datagrid').datagrid('reload'); 
    } else {
     mesTitle = '操作失败';
    }
    $.messager.alert({ 
     title: mesTitle,
     msg: result.msg
    });
    }
      });
      

  3.   

    另一种POST请求方法: $.ajax({
       url:urlPerm, 
       async: false,
       type: "POST",
       //data: { servletPath: servletPath },
       success: function(data){
       if (data.success) {  
             valuePerm=true;
            } else {  
             valuePerm=false;
            }
         }
      });
      

  4.   

    <form id="editTerminalForm" method="post" action="url">
    $("#editTerminalForm").submit();from标签上写action  写提交方式   jquery根据id提交整个表单的方法试过么?
      

  5.   


    目前发现:这个问题只在IE浏览器停留大约1分钟左右出现,谷歌和火狐没有问题。
    几种不同方式的POST写法都有出现这个问题,下面是其中的一个form提交的方式: $('#fm').form('submit',{
      url: url,  
      onSubmit: function(){
      return $(this).form('validate');
      },
    success: function(result){
    var result = eval('('+result+')');
    if (result.success){
      $('#dlg').dialog('close'); 
      $('#datagrid').datagrid('reload'); 
    } else {
     mesTitle = '操作失败';
    }
    $.messager.alert({ 
     title: mesTitle,
     msg: result.msg
    });
    }
      });
    IE  把什么东西销毁了?
      

  6.   


    目前发现:这个问题只在IE浏览器停留大约1分钟左右出现,谷歌和火狐没有问题。
    几种不同方式的POST写法都有出现这个问题,下面是其中的一个form提交的方式: $('#fm').form('submit',{
      url: url,  
      onSubmit: function(){
      return $(this).form('validate');
      },
    success: function(result){
    var result = eval('('+result+')');
    if (result.success){
      $('#dlg').dialog('close'); 
      $('#datagrid').datagrid('reload'); 
    } else {
     mesTitle = '操作失败';
    }
    $.messager.alert({ 
     title: mesTitle,
     msg: result.msg
    });
    }
      });
    IE  把什么东西销毁了?什么意思呢?能否具体说说,我试下哈?
      

  7.   

    有权限控制吗?为什么cookie里有两个jsessionid?感觉和session丢失有关系
      

  8.   

    发生了同样的问题,用户ajax提交表单保存,请求成功,post参数丢失,content-length为0,后台没获取参数,数据丢失
    服务器是weblogic, weblogic http 协议里面 默认勾上了 【保持活动】 keep-alive,http1.1协议里面的东西
    在http1.0时代,content-length可以为空,http1.1 启用了keep-alive content-length 必须有值
    具体原因不明, 2017年发现该问题,在weblogic后台将keep-alive 取消勾选,关了,具体版本也不记得了,也步知道是10还是12,
    修改配置后,问题解决
    但根本原因,也不知道是客户端IE的问题还是服务器bug2018年,用户要求在项目中使用jespa域认证,tomcat正常,就是weblogic不行,经检查,将http协议中的keep-alive 勾上,就可以了
    这和2017年的问题陷入死循环
    勾上,参数有可能丢失,不勾域认证SSO不工作.
      

  9.   

    我遇到了同样的问题,网上查了一堆,有一些说是编码问题。
    我用的是iso-8859-1,兼容UTF-8。
    我的问题出现是在我在我加了windows NTLM验证后出现的。
    我在登陆界面用NTLM返回windows 电脑的登陆用户名,但是返回的用户名每个字母后面有菱形问号的乱码。
    乱码问题我用了一个笨办法解决。然后问题发生了,页面打开瞬间form可以提交成功,但是过了几秒后再次提交,所有返回的表单键值都是空的。这个问题只出现在ie浏览器。我手动跳过登陆界面,然后打开form的页面,这个问题也没有出现。
    然后,我在form提交前,强制改变页面编码,还是不行。最后我取消了NTLM返回windows 电脑的登陆用户名这个功能,一切正常了。我猜测原因可能是编码问题,但是并不确定。
      

  10.   

    有权限控制吗?为什么cookie里有两个jsessionid?感觉和session丢失有关系 浏览器的兼容问题也有可能