我有一个ASP.NET MVC配置,并且我正在构建一个报表生成器。我正在输出一个JQuery表格,以便用户可以排序和重新安排它,然后再获取它作为一个JQuery。我的PDF组件是基于.NET的,因此我需要通过AJAX将修改后的表发回到服务器。
问题是URI可以长达100k个字符,使得服务器响应状态为414 (Request-URI太长)。IIS似乎不允许超过几千个字符的URI。
我承认编写这么大的URL看起来很奇怪,所以我想我可能遗漏了一些东西。有没有其他方法可以将数据发送到服务器,或者可能用另一种方法解决这个问题?
发布于 2010-11-18 11:18:33
发送长度超过几百个字符的数据的推荐方法是使用HTTP POST而不是GET。GET将所有数据作为键-值对(例如?foo=bar&baz=blah
)附加到URI,而POST将数据放入请求主体。对总请求长度也有限制,但它远远大于对URI施加的限制。在jQuery方面,从GET切换到POST是微不足道的-有关详细信息,请阅读jQuery.ajax()上的文档。在服务器端,您可能必须进行更改,以便从POST而不是GET读取参数,但在大多数情况下,这也是相对容易的。
发布于 2010-11-18 11:16:37
你问题中的关键是post。您需要通过POST
返回到服务器。
$.post(url, [data], [success(data, textStatus, XMLHttpRequest)], [dataType]);
https://stackoverflow.com/questions/4214121
复制