Я создаю веб-сайт ASP.NET MVC2, который позволяет пользователям хранить и анализировать данные о товарах, найденных на различных сайтах онлайн-торговли. Когда пользователь заполняет форму для создания или редактирования элемента, у него должна быть кнопка «Импорт данных», которая автоматически заполняет некоторые поля на основе данных со стороннего веб-сайта.
Вопрос: что должна делать эта кнопка под капотом?
Я вижу как минимум 2 возможных решения.
Первый. Выполните импорт на стороне клиента, используя метод AJAX + jQuery load
.
Я попробовал это в IE8 и получил всплывающее предупреждение браузера о небезопасных действиях скрипта. Конечно, это совершенно неприемлемо.
Второй. Добавить метод ImportData(string URL)
в ItemController
класс. Он вызывается через AJAX, выполняет импорт + обработку данных на стороне сервера и возвращает клиенту результат JSON-d.
Я попробовал это и получил исключение сервера (503) Server unavailable
при загрузке данных HTML в XMLDocument
. Кроме того, у меня есть ощущение, что работа с некорректно сформированным HTML (отсутствующими закрывающими тегами и т. Д.) Будет огромной болью. Любые идеи, как разобрать такие документы HTML?