
15.03.2010, 00:00
|
Интересующийся
|
|
Регистрация: 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
|
|

15.03.2010, 18:50
|
 |
Пионэр
|
|
Регистрация: 16.11.2009
Сообщений: 1,322
|
|
Файлы XHR не отправляются, просто потому что браузер не даст яваскрипту на обычной странице обращаться к файловой системе, а иначе сформировать строку тела запроса не получится.
Используйте скрытый iframe, это тоже вполне себе AJAX.
|
|

16.03.2010, 00:22
|
Интересующийся
|
|
Регистрация: 13.03.2010
Сообщений: 12
|
|
Сообщение от subzey
|
Файлы XHR не отправляются, просто потому что браузер не даст яваскрипту на обычной странице обращаться к файловой системе, а иначе сформировать строку тела запроса не получится.
Используйте скрытый iframe, это тоже вполне себе AJAX.
|
А почему тогда если в xmlhttp.open() вместо POST написать GET, запрос проходит нормально и в responseText заносится все содержимое XML файла???
|
|

16.03.2010, 01:18
|
 |
Пионэр
|
|
Регистрация: 16.11.2009
Сообщений: 1,322
|
|
Ой, видимо, я Вас неправильно понял. XML находится на сервере, и его нужно загрузить в смысле «download», а не в смысле «upload», верно?
Тогда у Вас где-то ошибка на серверной стороне, потому что для статичных файлов результат запроса POST ничем особо не отличается о GET. Попробуйте сделать POST вручную, и посмотреть полученное.
|
|

16.03.2010, 01:38
|
Интересующийся
|
|
Регистрация: 13.03.2010
Сообщений: 12
|
|
Сообщение от subzey
|
Ой, видимо, я Вас неправильно понял. XML находится на сервере, и его нужно загрузить в смысле «download», а не в смысле «upload», верно?
Тогда у Вас где-то ошибка на серверной стороне, потому что для статичных файлов результат запроса POST ничем особо не отличается о GET. Попробуйте сделать POST вручную, и посмотреть полученное.
|
Да-да, именно upload)
Все равно выдает ошибку 405
Все точно так же как и в GET запросе, почти)
Сделал запрос в xmlhttp.open("POST", "pars.php", true) через php файл, который обрабатывает xml. Все заработало
Не знаю в чем было дело. Но все равно спасибо.
|
|

16.03.2010, 01:46
|
 |
Пионэр
|
|
Регистрация: 16.11.2009
Сообщений: 1,322
|
|
Так это… HTTP 405 — это Method not allowed. У Вас запрещен на хостинге POST для этого файла, похоже.
|
|

16.03.2010, 01:49
|
Интересующийся
|
|
Регистрация: 13.03.2010
Сообщений: 12
|
|
Сообщение от subzey
|
Так это… HTTP 405 — это Method not allowed. У Вас запрещен на хостинге POST для этого файла, похоже.
|
Я на денвере тестирую
А как узнать? Подскажите
|
|

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

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