2017-02-20 27 views
1

Это мой первый раз, когда я пытаюсь использовать XMLHttpRequest (чтобы загрузить файл, перетаскиваемый на веб-страницу), и я не могу заставить его ничего делать. У меня есть следующий код Javascript в веб-странице:XMLHTTPRequest :: send() Метод не делает ничего

  function upload(file) 
      {    
      var formData = new FormData(); 
      formData.append("file", file); 

      var xhr = new XMLHttpRequest();     
      xhr.open("POST", "servlet/UploadServlet", false);            
      xhr.send(formData);    
      } 

Я разместил мой сервлет класс UploadServlet и мою веб-страницу в «Примеры» каталога структуры моего сервера Tomcat. Но пока я могу выполнить пример HelloWordServlet по ссылке на моей странице, я не могу получить XmlHttpRequest.send(), чтобы что-либо сделать. Но мне удалось проверить, что код Javascript до этой строки работает, то есть файл, переданный в подпрограмму, был успешно добавлен к объекту FormData. Взгляд в журналы сервера ничего не показал, и ничего не было, когда я поднял консольный журнал. Что я делаю не так?

+1

вы получаете что-нибудь вообще в консоли инструментов для разработчиков браузера что предполагает отказ? как насчет в браузере вкладки сети инструментов разработчика? любое указание на то, что запрос выполняется? Постскриптум отправка файла синхронно - это очень плохой Idea ™ * - попробуйте изменить запрос на асинхронность (удалите false или измените его на true) - посмотрите, поможет ли это. Кроме того, какой браузер вы используете? Чрезвычайно ничего не имеет в консоли об этом запросе –

+0

Я не видел никаких сообщений ни на одной из вкладок, которые вы упоминаете, которые, похоже, имеют отношение к отправке XHR, и изменение запроса для асинхронности не помогло , Я использую Firefox. –

ответ

0

Как оказалось, проблема была не с XmlHttpRequest, но с самого сервлета: я не добавил его в соответствующих отображений в web.xml