Что происходит между нажатием кнопки и выполнением метода Javascript?
У меня есть веб-приложение ASP.NET, использующее MVC 4, jquery и элементы управления Telerik Kendo.
У меня есть следующее на моей веб-странице:
<input id="cmdSaveToFile" title="Save To File" class="button" type="button" value="Save To File" onclick="SaveToFile();" tabindex="2" />
Тем не менее, если я установил точку останова в моем файле Javascript, гдеSaveToFile()
определяется, точка останова не получает удар. Предполагается, что этот метод отправляет ajax-запрос на сервер, который затем создает файл и сохраняет его в переменной сеанса для последующей загрузки.
Журналы ошибок на сервере приводят эту ошибку:
Ошибка во время сериализации или десериализации с использованием JSON JavaScriptSerializer. Длина строки превышает значение, установленное в свойстве maxJsonLength.
Я посмотрел на эти вопросы SO для этой конкретной ошибки:
Исключение MaxJsonLength в ASP.NET MVC во время JavaScriptSerializer
Могу ли я установить неограниченную длину для maxJsonLength в web.config?
Я добавил содержание принятого ответа в мой web.config, но это не решило проблему. Я не могу программно установитьJsonResult.MaxJsonLength
свойство, потому что я понятия не имею, что происходит между нажатием на кнопку и методом, который я указал в файле представления от фактического выполнения. Используя Visual Studio + IE, я нигде не могу сломаться; не в контроллере и не в JS.
Если я использую Chrome, в их инструментальных средствах разработки «Точки останова прослушивателя событий» я могу заставить его ломаться при наведении мыши вверх / вниз / клик, но весь выполняемый jquery мне совершенно не читается. Что это может делать под капотом, что может вызвать эту ошибку?
редактировать Чтобы уточнить, рассматриваемая веб-страница просто содержит текстовое поле и 2 кнопки: Сохранить в файл и Закрыть. Если вы нажмете «Сохранить в файл», программа запишет содержимое текстового поля в файл RTF и представит его пользователю для загрузки. Это текстовое поле содержит отчет об ошибке после того, как они загрузили файл и попытались разобрать его. Если я загружаю и анализирую небольшой файл, он ведет себя правильно. Только когда я загружаю очень большие файлы, которые создают большое количество ошибок, это больше не работает (потому что отчет об ошибках слишком длинный для JSON) ... Но если моя точка останова вSaveToFile()
не запускается тогда, что, черт возьми, он делает?