我有一个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(),但它也不起作用。
答案 0 :(得分:1)
我假设你的意思是它没有给控制器打电话。
GET请求有一个最大限制(在浏览器中实现,而不是在服务器中实现);在某些浏览器上,2500与它非常接近。
您应该考虑改为发出POST请求:http://api.jquery.com/jQuery.post,其中限制要大得多。
jQuery.post("applicationurl/controllerActionMethod", { parameter1: json, parameter2: jsonGrid, parameter3: value3, parameter4: value4 }, function(jsonResult) {
}, 'json');
只是澄清一下,如果你超过GET长度,仍然应该提出要求;尽管被截断了。我正在接近某种阻止请求的服务器验证。
答案 1 :(得分:0)
你需要使用post而不是get:
$.ajax({
url: "applicationurl/controllerActionMethod",
data: { parameter1: json, parameter2: jsonGrid, parameter3: value3, parameter4: value4 },
dataType: "json",
type: "POST",
success: function(jsonResult) {
}
});