0

MVC Web アプリケーションがあります。jquery の getJSON() メソッドを介してコントローラー メソッドを呼び出しています。

    $.getJSON("applicationurl/controllerActionMethod", { parameter1: json, parameter2: jsonGrid, parameter3: value3, parameter4: value4 }, function(jsonResult) {

});

ここでは、json 値を parameter1 と parameter2 に渡しています。問題は、parameter2 の長さが 2500 を超えると、controllActionMethod が呼び出されることです。

getJSON() の代わりに $.ajax メソッドも使用しましたが、これも機能しません。

4

2 に答える 2

1

コントローラーを呼び出さないということだと思います。

GET リクエストには上限があります (サーバーではなくブラウザーに実装されています)。一部のブラウザでは、2500 がそれに非常に近い値です。

代わりに、制限がはるかに大きいhttp://api.jquery.com/jQuery.postという POST リクエストを作成することを検討する必要があります。

jQuery.post("applicationurl/controllerActionMethod", { parameter1: json, parameter2: jsonGrid, parameter3: value3, parameter4: value4 }, function(jsonResult) {

}, 'json');

明確にするために、GET の長さを超えた場合でも、リクエストを行う必要があります。切り詰められていますが。私は、リクエストを防ぐある種のサーバー検証に向かっていました。

于 2010-03-31T11:47:32.780 に答える
0

get ではなく post を使用する必要があります。

$.ajax({
    url: "applicationurl/controllerActionMethod", 
    data: { parameter1: json, parameter2: jsonGrid, parameter3: value3, parameter4: value4 },
    dataType: "json",
    type: "POST",
    success: function(jsonResult) {
    }
});
于 2010-03-31T11:48:38.860 に答える