Javascript.RU

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

Передача xml на сервер
Подскажите как корректно отправить сгенерированный на javascript xml post запросом, без подключения сторонних библиотек.
Ответить с цитированием
  #2 (permalink)  
Старый 28.06.2011, 16:35
Профессор
Отправить личное сообщение для da_ff Посмотреть профиль Найти все сообщения от da_ff
 
Регистрация: 12.05.2009
Сообщений: 317

с помощью xmlHttpRequest'а.
http://javascript.ru/ajax/intro
Ответить с цитированием
  #3 (permalink)  
Старый 28.06.2011, 18:42
Новичок на форуме
Отправить личное сообщение для SeregaAltmer Посмотреть профиль Найти все сообщения от SeregaAltmer
 
Регистрация: 28.06.2011
Сообщений: 4

Передать через xmlHttpRequest в виде текста проблем бы не вызвало, но работа с xml идет в объекте, а получить его текстовый вид не получается.
Как передать xml который находится в объекте xmlDocument?
Или как получить его текстовое представление, базовыми средствами, чтобы передать как текст?

В гугле полно инфы по js+xml, но почти все копипаст, причем чего попало. Второй день копаю не могу найти то что нужно, или толкового разъяснения почему и как нужно. Так-что буду очень признателен за толковый мануал, или просто верно указанное направление.
Ответить с цитированием
  #4 (permalink)  
Старый 29.06.2011, 10:41
Профессор
Отправить личное сообщение для da_ff Посмотреть профиль Найти все сообщения от da_ff
 
Регистрация: 12.05.2009
Сообщений: 317

xmlDocument - это такой же документ как и window.document. Интерфейсы объектов во многом схожи.

Последний раз редактировалось da_ff, 29.06.2011 в 10:44.
Ответить с цитированием
  #5 (permalink)  
Старый 29.06.2011, 11:40
Аспирант
Отправить личное сообщение для DmitryT Посмотреть профиль Найти все сообщения от DmitryT
 
Регистрация: 19.02.2011
Сообщений: 53

SeregaAltmer,
вот ссылка, может пригодится, http://wmdn.ru/javascript/example-of...in-using-ajax/
Ответить с цитированием
  #6 (permalink)  
Старый 30.06.2011, 07:38
Новичок на форуме
Отправить личное сообщение для SeregaAltmer Посмотреть профиль Найти все сообщения от SeregaAltmer
 
Регистрация: 28.06.2011
Сообщений: 4

С переводом в текст разобрался:
function GetContent (node) {
        if (window.XMLSerializer) {
            var serializer = new XMLSerializer ();
            return serializer.serializeToString (node);
        } else {
            return node.outerHTML;
        }
    }

А вот с отправкой и получением теперь проблема. Все рабочие примеры отправки данных через post (какие нашел), построены на обмене с хедером:
setRequestHeader("Content-type", "application/x-www-form-urlencoded")
Как отправить с хедером:
setRequestHeader("Content-type", "text/xml")
и получить на php хмл-ку не могу разобраться.
Если не сложно приведите рабочий пример отправки куска текста / xml на сервер и его получении в php, базовыми средствами без сторонних библиотек.
p.s. За ответы спасибо!

Последний раз редактировалось SeregaAltmer, 30.06.2011 в 08:06.
Ответить с цитированием
  #7 (permalink)  
Старый 30.06.2011, 15:23
Новичок на форуме
Отправить личное сообщение для SeregaAltmer Посмотреть профиль Найти все сообщения от SeregaAltmer
 
Регистрация: 28.06.2011
Сообщений: 4

Нашел на форуме способ как достать на сервере отправленный мною xml, но кажется он не совсем корректен. Массив "$_POST" при этом пуст.

function sendxml() {
var CheckXML = '<'+'?xml version="1.0"?><root></root>';
var xmlHttp = getXmlHttp()  ;
xmlHttp.open('post', "http://altmer.net/gm/vote.php", false);
xmlHttp.setRequestHeader("Content-type", "text/xml; charset=utf-8");
xmlHttp.send(CheckXML);
alert(xmlHttp.responseText); 
}

<?php
$req = (file_get_contents('php://input'));
echo 'Необработаный запрос: "', $req, '"';
echo "\n", 'Размер $_POST: "', count($_POST),'"';
?>


При обработке сервер возвращает:
"Необработаный запрос: "<?xml version="1.0"?><root></root>"
Размер $_POST: "0""

Может я хидер не правильно заполняю или еще чего упускаю? Поправте пожалуйста.

Последний раз редактировалось SeregaAltmer, 30.06.2011 в 15:34.
Ответить с цитированием
  #8 (permalink)  
Старый 30.06.2011, 15:56
Профессор
Отправить личное сообщение для da_ff Посмотреть профиль Найти все сообщения от da_ff
 
Регистрация: 12.05.2009
Сообщений: 317

Чтобы отследить что посылаете на сервер воспользуйтесь плагином для firefox firebug
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача xml файла в js не через HTTP. prowoke Общие вопросы Javascript 9 30.06.2011 02:36
Передача запроса на сервер. Что на н11м? 0931454574 AJAX и COMET 9 16.03.2011 19:23
передача JSON на сервер mikeles AJAX и COMET 0 04.03.2011 11:28
Отпрака XML файла на сервер! Goga Events/DOM/Window 2 07.06.2010 12:57
передача данных из xml в html yupa AJAX и COMET 40 30.07.2009 10:11