Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.03.2010, 00:00
Интересующийся
Отправить личное сообщение для Mefisto Посмотреть профиль Найти все сообщения от Mefisto
 
Регистрация: 13.03.2010
Сообщений: 12

Загрузка XML файла методом POST
Здравствуйте.
Подскажите пожалуйста, как загрузить файл методом POST? Есть текстовое поле(куда вводится путь к XML файлу) и кнопка. При нажатии на нее должен загружаться XML файл с сервера. Как с ним потом работать знаю, а вот загрузить не могу(именно методом POST), уже все перепробовал. В xmlhttp.open() указываю POST, путь к файлу и true. Добавляю заголовок через xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'). А какие нужны параметры для xmlhttp.send()???
Выдает ошибку 405
Ответить с цитированием
  #2 (permalink)  
Старый 15.03.2010, 18:50
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Файлы XHR не отправляются, просто потому что браузер не даст яваскрипту на обычной странице обращаться к файловой системе, а иначе сформировать строку тела запроса не получится.

Используйте скрытый iframe, это тоже вполне себе AJAX.
Ответить с цитированием
  #3 (permalink)  
Старый 16.03.2010, 00:22
Интересующийся
Отправить личное сообщение для Mefisto Посмотреть профиль Найти все сообщения от Mefisto
 
Регистрация: 13.03.2010
Сообщений: 12

Сообщение от subzey Посмотреть сообщение
Файлы XHR не отправляются, просто потому что браузер не даст яваскрипту на обычной странице обращаться к файловой системе, а иначе сформировать строку тела запроса не получится.

Используйте скрытый iframe, это тоже вполне себе AJAX.
А почему тогда если в xmlhttp.open() вместо POST написать GET, запрос проходит нормально и в responseText заносится все содержимое XML файла???
Ответить с цитированием
  #4 (permalink)  
Старый 16.03.2010, 01:18
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Ой, видимо, я Вас неправильно понял. XML находится на сервере, и его нужно загрузить в смысле «download», а не в смысле «upload», верно?

Тогда у Вас где-то ошибка на серверной стороне, потому что для статичных файлов результат запроса POST ничем особо не отличается о GET. Попробуйте сделать POST вручную, и посмотреть полученное.
Ответить с цитированием
  #5 (permalink)  
Старый 16.03.2010, 01:38
Интересующийся
Отправить личное сообщение для Mefisto Посмотреть профиль Найти все сообщения от Mefisto
 
Регистрация: 13.03.2010
Сообщений: 12

Сообщение от subzey Посмотреть сообщение
Ой, видимо, я Вас неправильно понял. XML находится на сервере, и его нужно загрузить в смысле «download», а не в смысле «upload», верно?

Тогда у Вас где-то ошибка на серверной стороне, потому что для статичных файлов результат запроса POST ничем особо не отличается о GET. Попробуйте сделать POST вручную, и посмотреть полученное.
Да-да, именно upload)
Все равно выдает ошибку 405
Все точно так же как и в GET запросе, почти)
Сделал запрос в xmlhttp.open("POST", "pars.php", true) через php файл, который обрабатывает xml. Все заработало
Не знаю в чем было дело. Но все равно спасибо.
Ответить с цитированием
  #6 (permalink)  
Старый 16.03.2010, 01:46
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Так это… HTTP 405 — это Method not allowed. У Вас запрещен на хостинге POST для этого файла, похоже.
Ответить с цитированием
  #7 (permalink)  
Старый 16.03.2010, 01:49
Интересующийся
Отправить личное сообщение для Mefisto Посмотреть профиль Найти все сообщения от Mefisto
 
Регистрация: 13.03.2010
Сообщений: 12

Сообщение от subzey Посмотреть сообщение
Так это… HTTP 405 — это Method not allowed. У Вас запрещен на хостинге POST для этого файла, похоже.
Я на денвере тестирую
А как узнать? Подскажите
Ответить с цитированием
  #8 (permalink)  
Старый 16.03.2010, 01:58
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Добавьте в директорию с этоим XML файл .htaccess (начинается с точки) с текстом:
Код:
<Limit GET POST HEAD OPTIONS PROPFIND>
        Order allow,deny
        Allow from all
</Limit>
По-идее, должно помочь.
Ответить с цитированием
  #9 (permalink)  
Старый 16.03.2010, 02:15
Интересующийся
Отправить личное сообщение для Mefisto Посмотреть профиль Найти все сообщения от Mefisto
 
Регистрация: 13.03.2010
Сообщений: 12

Сообщение от subzey Посмотреть сообщение
Добавьте в директорию с этоим XML файл .htaccess (начинается с точки) с текстом:
Код:
<Limit GET POST HEAD OPTIONS PROPFIND>
        Order allow,deny
        Allow from all
</Limit>
По-идее, должно помочь.
Все равно не помогло(((
Тем не менее спасибо за помощь)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
загрузка данных из XML, почему загружает только в Explorer asked86 AJAX и COMET 2 18.12.2009 16:29
Как в ajax запросе передать файл методом POST mcpro jQuery 1 16.12.2009 11:41
Как правильно послать XML в POST запросе LowCoder AJAX и COMET 10 15.07.2009 23:20
Загрузка файла nego Общие вопросы Javascript 2 29.01.2009 17:19
Как узнать какие ошибки произошли при парсинге xml файла faunder Events/DOM/Window 0 12.09.2008 14:17