Internet Explorer中有一个3926个字符的帖子限制.我怎么能绕过这个?

Tri*_*rip 0 forms post internet-explorer ruby-on-rails

我现在已经对这个错误进行了12小时的故障排除,我认为我已经将此范围缩小到了这一点.

如果我提供post方法,无论是json对象还是字符串,IE将允许最多约3926个字符.没有其他任何东西,无论它的形状或大小如何.只要它像这样传递:

<form method="post" action="/generate_csv.csv?calc[][amount_paid]=0.0&amp;calc[][date_awarded]=02%2F02%2F1981&amp;calc[][date_paid]=12%2F31%2F1981&amp;calc[][interest_rate]=12.0&amp;calc[][principal]=1955.96&amp;calc[][tf]=0.912328767123288&amp;calc[][total_interest]=214.14&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F1982&amp;calc[][date_paid]=12%2F31%2F1982&amp;calc[][interest_rate]=12.0&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0&amp;calc[][total_interest]=234.72&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F1983&amp;calc[][date_paid]=12%2F31%2F1983&amp;calc[][interest_rate]=12.0&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0&amp;calc[][total_interest]=234.72&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F1984&amp;calc[][date_paid]=12%2F31%2F1984&amp;calc[][interest_rate]=12.0&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0027397260274&amp;calc[][total_interest]=235.36&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F1985&amp;calc[][date_paid]=12%2F31%2F1985&amp;calc[][interest_rate]=12.0&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0&amp;calc[][total_interest]=234.72&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F1986&amp;calc[][date_paid]=12%2F31%2F1986&amp;calc[][interest_rate]=9.5&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0&amp;calc[][total_interest]=185.82&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F1987&amp;calc[][date_paid]=12%2F31%2F1987&amp;calc[][interest_rate]=7.5&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0&amp;calc[][total_interest]=146.7&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F1988&amp;calc[][date_paid]=12%2F31%2F1988&amp;calc[][interest_rate]=6.0&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0027397260274&amp;calc[][total_interest]=117.68&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F1989&amp;calc[][date_paid]=12%2F31%2F1989&amp;calc[][interest_rate]=7.0&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0&amp;calc[][total_interest]=136.92&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F1990&amp;calc[][date_paid]=12%2F31%2F1990&amp;calc[][interest_rate]=8.0&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0&amp;calc[][total_interest]=156.48&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F1991&amp;calc[][date_paid]=12%2F31%2F1991&amp;calc[][interest_rate]=8.5&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0&amp;calc[][total_interest]=166.26&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F1992&amp;calc[][date_paid]=12%2F31%2F1992&amp;calc[][interest_rate]=7.5&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0027397260274&amp;calc[][total_interest]=147.1&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F1993&amp;calc[][date_paid]=12%2F31%2F1993&amp;calc[][interest_rate]=5.5&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0&amp;calc[][total_interest]=107.58&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F1994&amp;calc[][date_paid]=12%2F31%2F1994&amp;calc[][interest_rate]=3.5&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0&amp;calc[][total_interest]=68.46&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F1995&amp;calc[][date_paid]=12%2F31%2F1995&amp;calc[][interest_rate]=3.5&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0&amp;calc[][total_interest]=68.46&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F1996&amp;calc[][date_paid]=12%2F31%2F1996&amp;calc[][interest_rate]=5.5&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0027397260274&amp;calc[][total_interest]=107.87&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F1997&amp;calc[][date_paid]=12%2F31%2F1997&amp;calc[][interest_rate]=5.5&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0&amp;calc[][total_interest]=107.58&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F1998&amp;calc[][date_paid]=12%2F31%2F1998&amp;calc[][interest_rate]=5.5&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0&amp;calc[][total_interest]=107.58&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F1999&amp;calc[][date_paid]=12%2F31%2F1999&amp;calc[][interest_rate]=5.5&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0&amp;calc[][total_interest]=107.58&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F2000&amp;calc[][date_paid]=12%2F31%2F2000&amp;calc[][interest_rate]=5.0&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0027397260274&amp;calc[][total_interest]=98.07&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F2001&amp;calc[][date_paid]=12%2F31%2F2001&amp;calc[][interest_rate]=5.5&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0&amp;calc[][total_interest]=107.58&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F2002&amp;calc[][date_paid]=12%2F31%2F2002&amp;calc[][interest_rate]=6.0&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0&amp;calc[][total_interest]=117.36&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F2003&amp;calc[][date_paid]=12%2F31%2F2003&amp;calc[][interest_rate]=3.0&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0&amp;calc[][total_interest]=58.68&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F2004&amp;calc[][date_paid]=12%2F31%2F2004&amp;calc[][interest_rate]=2.0&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0027397260274&amp;calc[][total_interest]=39.23&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F2005&amp;calc[][date_paid]=12%2F31%2F2005&amp;calc[][interest_rate]=1.0&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0&amp;calc[][total_interest]=19.56&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F2006&amp;calc[][date_paid]=12%2F31%2F2006&amp;calc[][interest_rate]=2.0&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0&amp;calc[][total_interest]=39.12&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F2007&amp;calc[][date_paid]=12%2F31%2F2007&amp;calc[][interest_rate]=4.0&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0&amp;calc[][total_interest]=78.24&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F2008&amp;calc[][date_paid]=12%2F31%2F2008&amp;calc[][interest_rate]=5.5&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0027397260274&amp;calc[][total_interest]=107.87&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F2009&amp;calc[][date_paid]=12%2F31%2F2009&amp;calc[][interest_rate]=4.0&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0&amp;calc[][total_interest]=78.24&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F2010&amp;calc[][date_paid]=12%2F31%2F2010&amp;calc[][interest_rate]=1.5&amp;calc[][principal]=1955.96&amp;calc[][tf]=1.0&amp;calc[][total_interest]=29.34&amp;calc[][amount_paid]=0.0&amp;calc[][date_awarded]=1%2F1%2F2011&amp;calc[][date_paid]=02%2F09%2F2011&amp;calc[][interest_rate]=0.5&amp;calc[][principal]=1955.96&amp;calc[][tf]=0.10958904109589&amp;calc[][total_interest]=1.07" accept-charset="UTF-8"><div style="margin: 0pt; padding: 0pt; display: inline;"><input type="hidden" value="?" name="utf8"><input type="hidden" value="dbxrVZT2J42AB0QdMFi2XPggVGAQKtm8IkcuIj+U2jU=" name="authenticity_token"></div>
Run Code Online (Sandbox Code Playgroud)

在所有其他浏览器中,这完全没有问题.但IE不会容忍过去某一点.

有没有知道我可以通过在一个小的和浓缩的方式,甚至在一个替代办法相同的数据量?

另一种,我在想,这样的对象本身控制器之间传递,但可以通过对象的别名通过的意见.无需将对象保存到数据库即可完成此操作.只是在这里大声思考.

对任何想法开放.:d

我的哈姆尔:

= form_tag generate_csv_path(:calc => @calc.results, :total_interest => @calc.total_interest, :per_diem => @calc.per_diem, :docket_num => @calc.docket_num, :our_file_num => @calc.our_file_num) do
  = submit_tag 'Print CSV', :id => "print_csv"
Run Code Online (Sandbox Code Playgroud)

UPDATE

所以我正在遍历所有试图将它们分解成更小的隐藏字段的项目,它们都是以哈希的形式出现的

- @calc.results.each do |k, v|
  = hidden_field :calc_result, "#{k[:total_interest]}"
Run Code Online (Sandbox Code Playgroud)

生产:

"117.68"=>"",
"166.26"=>"",
"147.1"=>"",
"107.58"=>"",
"58.68"=>"",
Run Code Online (Sandbox Code Playgroud)

令人难以置信的奇怪......我想我最终可能会创建一个哈希值.这样1个calc_result就可以有5个不同的属性.

Mih*_*ria 7

将数据发布为<form>正文,而不是URL的一部分.

网址有长度限制.作为表单正文发布的数据没有限制,因为它们是标题(不是URL)的一部分

http://support.microsoft.com/kb/208427

更新(响应您的评论)数据作为表单正文的一部分......

<form method="post" action="/generate_csv.csv">
 <input type="hidden" name="calc[][amount_paid]" value="0.0"/>
 ... //other fields here
</form>
Run Code Online (Sandbox Code Playgroud)