getJSON() 参数长度对于 IE6 或 IE7 超过 2500
我有一个 MVC Web 应用程序。我通过 jquery 的 getJSON() 方法调用控制器方法。
$.getJSON("applicationurl/controllerActionMethod", { parameter1: json, parameter2: jsonGrid, parameter3: value3, parameter4: value4 }, function(jsonResult) {
});
这里我将 json 值传递给parameter1和parameter2。问题是,当parameter2的长度超过2500时,它会调用controllActionMethod。
我还使用了 $.ajax 方法而不是 getJSON(),但它也不起作用。
I have a MVC web application. I am calling the controller method through the getJSON() method of the jquery.
$.getJSON("applicationurl/controllerActionMethod", { parameter1: json, parameter2: jsonGrid, parameter3: value3, parameter4: value4 }, function(jsonResult) {
});
Here I am passing the json values into the parameter1 and parameter2. The problem is that when length of the parameter2 is more than 2500 then it does call the controllActionMethod.
I have also used the $.ajax method instead of getJSON(), however it also does not work.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我假设你的意思是它不调用控制器。
GET 请求有最大限制(在浏览器中实现,而不是在服务器中);在某些浏览器上 2500 非常接近。
您应该考虑改为发出 POST 请求: http://api.jquery.com/jQuery.post,其中限制要大得多。
需要澄清的是,如果超过 GET 长度,仍应发出请求;虽然被截断了。我正在尝试某种服务器验证来阻止请求。
I'm assuming you mean it doesn't call the controller.
There is a maximum limit to GET requests (implemented in browsers, not servers); and 2500 is very close to it on some browsers.
You should consider making a POST request instead: http://api.jquery.com/jQuery.post, where the limit is much larger.
Just to clarify, if you go over the GET length, the request should still be made; albeit truncated. I was edging towards some sort of server validation preventing the request.
您需要使用 post 而不是 get:
You need to use post rather than get: