Реализация простой загрузки файла в extjs - PullRequest
2 голосов
/ 21 июля 2010

Когда файл загружен со стандартом submitmit, установленным в false (по умолчанию), файл загружается, но затем происходит сбой JavaScript, поскольку он не может проанализировать ответ - он ожидает ответ JSON.

Когда установлено значение true, это работает, но вы не можете изменить цель (или, если вы можете, я не могу выяснить, как), что мне нужно сделать, мне нужно загрузить его в невидимый iframe, чтобы предотвратить отправку страницы обратно.

Есть ли способ заставить его игнорировать ответ или принять нормальный HTTP-ответ? Я не уверен, что отправка формы даже даст вам ответ. Я просто хочу запустить код после загрузки файла.

У кого-нибудь есть идеи? Ошибка в основном в самой библиотеке, которая пытается проанализировать ответ json, но ответ является пустой строкой, поэтому он выдает ошибку.

Ответы [ 2 ]

1 голос
/ 28 июля 2010

Существует серьезная нехватка документации (или, по крайней мере, документации с возможностью поиска) для extjs!В конце концов я нашел решение, которое позволило мне сменить цель.Я считаю, что это была цель control.dom.target.Это также было идеальным решением, потому что я не хотел реализовывать «хак» серверного кода для конкретного клиентского решения.

Кстати, возвращение {success: true} также работало, я пыталсяэто потом.

1 голос
/ 25 июля 2010

Нет ошибок. FormPanel ожидает получения {success: true}, если все прошло хорошо, или {success: false, error: [...]}, если что-то пошло не так.

На основе этого ответа обработчик фактически вызывает другие обработчики событий, отвечающие за выделение полей, которые не прошли проверку на стороне сервера и т. Д.

Вам необходимо изменить скрипт на стороне сервера, чтобы он возвращал то, что ExtJS ожидает от него.

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