Есть ли ограничение длины строки при использовании $ .getJSON? - PullRequest
4 голосов
/ 19 мая 2011

Таким образом, у меня есть этот javascript в качестве моего вызова:

$("#addNewThankYou").click(function () {
    var thankYouNote = $("#thankYouNote").html();

    var name = $("#enteredName").html();

    $.getJSON("/Home/AddEntryToDatabase", { Name: name, ThankYouNote: thankYouNote }, function (data) {
    ...
    });
});

Метод C # довольно стандартен:

public ActionResult AddEntryToDatabase(String Name, String ThankYouNote){
...
}

Моя проблема потенциально заключается в длине передаваемой строкиНапример, если я передаю имя и заметку небольшого размера (<100 символов), у меня не возникает никаких проблем, метод запускается очень хорошо.Однако, если у меня есть заметка, которая довольно длинная, она вообще не запускает метод;когда я нажимаю кнопку, которая вызывает addNewThankYou.click, ничего не делает.Я попытался поместить точку останова в первую строку вызываемого метода, а он вообще не входит. </p>

Итак, мой вопрос таков.Есть ли ограничение на размер строки, который я могу передать через метод getJSON jQuery?Если это так, какие-либо предложения о том, как обойти это?Я не хочу ограничивать эти заметки благодарностью до 100 символов!

Ответы [ 3 ]

1 голос
/ 19 мая 2011

Этот билет SO может быть вам полезен: Ограничение размера ответа браузера

По сути, это объясняет, что как IE, так и FF имеют ограничения на данные (как с GET, так и с POSTметоды).Таким образом, действительно длинные данные могут привести к тому, что они не сработают.Даже если вы не используете IE или FF, возможно, существуют некоторые ограничения на объем данных, которые вы можете обрабатывать.

1 голос
/ 19 мая 2011

Запрос GET помещает все параметры в URL.Так что, если ничего другого, вам нужно знать, какие ограничения браузеры размещают на длине URL, который они обрабатывают.Как правило, вы не можете предполагать, что можете отправить более ~ 2000 символов в URL в целом.

http - Какова максимальная длина URL

1 голос
/ 19 мая 2011

Исторически сложилось так, что вам всегда нужно было обрабатывать длинные строки запросов (т.е. запросы GET) с осторожностью. Я думаю, что в прошедшие дни строки запросов были ограничены по длине. Вероятно, было бы лучше, если бы вы отправляли большой объем данных, чтобы использовать вместо него ajax - POST.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...