碰到url限制了

原创 2007年10月10日 17:05:00

以前做嘅的一个项目,今日客户打电话来话有个操作冇反应了,一检查原来喺因为浏览器对url长度嘅限制,url超过2K后浏览器就忽略操作,唔作任何反应。测试果阵剩系得200条数据,冇发现呢个问题,而家客户单次处理就有600几条数据,问题就暴露出来。

谂过用cookies或form,cookies同样有限制,而用form有好多地方要改比较麻烦,而且.Net跨页面传递好鬼麻烦,最后用鸟食轩嘅方法,加咗个模态窗口,将数据ID先传递到模态窗口,由模态窗口变成session后转入处理页面,由页面还原参数。而且咁做仲有一个好处,就喺可避免原页面提交向服务器端postback大量数据、减少咗带宽占用、提高速度。

<script runat="server">
    
'通过本页面将数据提交变成session,可避免原页面提交向服务器端postback大量数据(form、state),提高速度
    Protected Sub Page_Load()Sub Page_Load(ByVal sender As ObjectByVal e As System.EventArgs) Handles Me.Load
        CheckLogin()

        Response.Write("<table cellpadding=0 cellspacing=0 border=0 width='100%' height='100%'><tr><td align='center' valign='middle'>")
        Response.Write(
"<img src='images/loading.gif' align='middle' /><label style='font-size:14px;'>正在处理操作请求,请稍候……</label>")
        Response.Write(
"</td></tr></table>")
        Response.Flush()
        
        
Dim SessionName As String = "NEWCERTTRAN_ID"
        
If Session(SessionName) IsNot Nothing Then Session.Remove(SessionName)
        
        
If Page.IsPostBack Then
            
If CheckParam() Then
                Session.Add(SessionName, HiddenField1.Value)
                ClientScript.RegisterStartupScript(Page.GetType, 
"ret""<script>window.returnValue=1;window.close();<" + "/script>")
            
Else
                Response.Write(
"<s" + "cript>alert('参数无效!');window.close();<" + "/script>")
                Response.End()
            
End If
        
End If
    
End Sub

    
    
Private Function CheckParam()Function CheckParam() As Boolean
        
If HiddenField1.Value = "" Then Return False
        
Dim check As String() = HiddenField1.Value.Split(",")
        
Dim i As Integer
        
For i = 0 To check.Length - 1
            
If Not IsNumeric(check(i)) Then Return False
        
Next
        
Return True
    
End Function

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    
<link href="css/red.css" rel="stylesheet" type="text/css" />
    
<base target="_self" />
    
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    
<META HTTP-EQUIV="Expires" CONTENT="-1">
    
<script language="javascript">
    
Function aff()function aff()
    {
      var e 
= document.getElementById("HiddenField1");
      
if (!e)
      {
        alert(
"内容控件丢失,请刷新页面再执行最后一步操作。");
        window.close();
      }
      
else
      {
        var v 
= window.dialogArguments;
        
if (!v)
        {
          alert(
"参数错误!");
          window.close();
        }
        
else
        {
          e.value 
= v;
          document.getElementById(
"form1").submit();
        }
      }
    }
    
</script>
    
<title>请稍候</title>
</head>
<body onload="aff()">
    
<form id="form1" runat="server">
        
<asp:HiddenField ID="HiddenField1" runat="server" />
    
</form>
</body>
</html>

HTTP中的URL长度限制

转自:http://www.cnblogs.com/lengyuhong/archive/2012/02/04/2330130.html   由于之前的一个web项目中,要用...
  • csCrazybing
  • csCrazybing
  • 2016-12-27 14:30:00
  • 3724

url超过长度限制的问题

不同的浏览器url传值的长度是不一样的,正常情况下,url的长度是不会出现超出长度的问题,但是有时会有特殊情况 笔者最近就出现了一种情况,就是想将百度地图一串表示园的经纬度传到后台,但是这串经纬度非...
  • qq_31083947
  • qq_31083947
  • 2017-01-14 22:45:33
  • 876

碰到url限制了

以前做嘅的一个项目,今日客户打电话来话有个操作冇反应了,一检查原来喺因为浏览器对url长度嘅限制,url超过2K后浏览器就忽略操作,唔作任何反应。测试果阵剩系得200条数据,冇发现呢个问题,而家客户单...
  • nhconch
  • nhconch
  • 2007-10-10 17:05:00
  • 1604

URL最大长度限制

在开发调试支付宝接口时,突然发现支付宝接口的URL很长,远远大于之前自己印象中的255个字符。赶紧搜索查证了一番,理解如下:URL不能大于255bytes的说法确实存在,在RFC2616中提到:The...
  • jinhill
  • jinhill
  • 2009-03-06 09:22:00
  • 7968

GET请求中URL的最大长度限制总结

今天在写一个php相应jsonp请求的功能时,发现当url中包含的请求参数过长时会返回414错误。如下图 414 Request-URI Too Large 今天在写一个php相应js...
  • zimuxin
  • zimuxin
  • 2017-09-25 10:39:47
  • 922

IE中的URL最大长度限制

看见很多朋友讨论浏览器最大URL长度限制的问题。其实实际中URL长度限制是由2方面决定的。1 客户浏览器 2 接受服务请求的服务器端的设置。对于大多数用户来说,他们使用的浏览器是IE浏览器,IE的最大...
  • spring21st
  • spring21st
  • 2007-10-09 15:03:00
  • 21218

URL传递参数长度限制

IIS 7 对 Query String 有长度限制;默认:2048 1. IE浏览器对URL的长度现限制为2048字节(自己测试最多为2047字节)。 2. 360极速浏览器对URL...
  • voodooer
  • voodooer
  • 2015-12-01 09:37:33
  • 6140

各种浏览器url最大长度限制

虽然HTTP协议的RFC规范并没有详细规定URL的最大字符长度限制,但实际上,在浏览器或者服务器中总会存在限制的。本文中说所的字符是指ASCII字符。 微软 Internet Explorer:...
  • u010401880
  • u010401880
  • 2014-09-22 10:00:30
  • 3318

IE的URL的最大长度限制和如何解决URL最大长度的限制

做Web开发时经常涉及到页面之间的转跳,页面之间的转跳就会涉及到页面之间参数的传递,通过URL传递参数是常用的方法之一,但是微软说:"Maximum URL length is 2,083 chara...
  • u013277135
  • u013277135
  • 2014-04-19 16:27:35
  • 7009

URL传值问题,不同浏览器对URL的长度要求

通过URL传值的问题,所以对url字符串进行encodeURIComponent对url字符串内容进行编码,问题解决,但是有时候会出现 The request filtering module is ...
  • jierry_wang
  • jierry_wang
  • 2011-09-21 11:39:14
  • 10962
收藏助手
不良信息举报
您举报文章:碰到url限制了
举报原因:
原因补充:

(最多只允许输入30个字)