Asp.net 当传出内容长度超过3508字节时,XMLHttpRequest失败。为什么?
更新:我已经离开了,没有寻找答案 更新:请参阅下面的上次更新 我正在使用JQuery的Asp.net 当传出内容长度超过3508字节时,XMLHttpRequest失败。为什么?,asp.net,asp.net-mvc,firefox,jquery,Asp.net,Asp.net Mvc,Firefox,Jquery,更新:我已经离开了,没有寻找答案 更新:请参阅下面的上次更新 我正在使用JQuery的JQuery.ajax()函数执行POST请求,当传出的内容长度超过3508字节时,出现了一些错误,没有返回响应。只要内容长度保持在3509字节以下,一切正常 以下是我注意到的一些其他事情: 如果我将方法从POST更改为GET everything,但由于URL有一个(特定于浏览器的)最大长度,我认为我不能这样做(例如,Internet Explorer的最大长度为2083个字符) 当我执行一个普通的非XML
JQuery.ajax()
函数执行POST请求,当传出的内容长度超过3508字节时,出现了一些错误,没有返回响应。只要内容长度保持在3509字节以下,一切正常
以下是我注意到的一些其他事情:
- 如果我将方法从POST更改为GET everything,但由于URL有一个(特定于浏览器的)最大长度,我认为我不能这样做(例如,Internet Explorer的最大长度为2083个字符)
- 当我执行一个普通的非XMLHttpRequest表单POST时,一切都很好(即使内容长度远大于3508字节)
- Firefox(3.6.12)仍将调用数据为“未定义”的成功处理程序,而InternetExplorer(8)将调用textStatus为“错误”且ErrorSwitch为“未定义”的错误处理程序
请注意,在“服务器端”,我正在运行ASP.NET开发服务器并使用ASP.NET MVC 1.0
以下是我正在做的事情:
$.ajax({
type: "POST",
url: "", // A resource on localhost
// The following string results in a Content-Length of 3509 bytes
data: "-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------",
success: function(response) {
alert(response);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus + " " + errorThrown);
},
dataType: "json"
});
有什么想法吗
更新:
以下是失败请求的请求头(没有响应):
更新:我将应用程序发布到IIS(5.1)上,但问题没有出现在那里,而且奇怪的是,使用ASP.NET开发服务器,问题现在也不再出现了。出于某种原因,请求中出现了两个新的标题(尽管我不确定它们是否有任何影响):
我仍然对发生了什么感到困惑。您是否尝试在web.config中更改此设置:
<scripting>
<webServices>
<jsonSerialization maxJsonLength="5000"/>
</webServices>
</scripting>
发送或返回的内容长度?数据是什么样子的,你能举个例子吗?你能确认你发布的代码“基本上就是我在做的”实际上重现了这个问题吗?Ta@Matt Gibson:我现在可以了,原来我有方法:“POST”
,但它应该是类型:“POST”
,就像现在一样(如果缺少类型,它默认为GET)。奇怪。你能用另一台服务器来确认这一点吗?嗨,Rick,我不想让你挂断电话,所以请告诉你我不能回复你的答案,因为我现在没有相关的开发环境设置(而且我正忙于其他事情,无法切换上下文)。
Pragma: no-cache
Cache-Control: no-cache
<scripting>
<webServices>
<jsonSerialization maxJsonLength="5000"/>
</webServices>
</scripting>