Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Обработчик получает пустой массив. Где ошибка в коде javascript?
 
 автор: UnlikeAO   (28.06.2010 в 11:54)   письмо автору
 
 

Здравствуйте, у меня следующая задача, надо послать на обработчик parser.php весь innerHTML который есть в <div id="forxml">
для этого написан javascript, но почему то обработчик принимает пустой массив. Пишу print_r($_POST) -- возвращает Array().

Подскажите пожалуйста что я не так сделал.

// JavaScript Document
  function createXMLHttp() {
        if(typeof XMLHttpRequest != "undefined") { // для браузеров аля Mozilla

          return new XMLHttpRequest();
        } else if(window.ActiveXObject) { // для Internet Explorer (all versions)
          var aVersions = ["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0",
                   "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp",
                   "Microsoft.XMLHttp"
                   ];
          for (var i = 0; i < aVersions.length; i++) {
            try { //
              var oXmlHttp = new ActiveXObject(aVersions[i]);

              return oXmlHttp;
            } catch (oError) { 

            }
          }
          throw new Error("Невозможно создать объект XMLHttp.");
        }
      }
      
     
    
      
          
      function sendRequest() {
       
        var myhtml = document.getElementById('forxml').innerHTML;
        var oXmlHttp = createXMLHttp();
        
        oXmlHttp.open("POST",'parser.php', true);
        oXmlHttp.setRequestHeader("Content-Type", "text/xml");
        
        oXmlHttp.onreadystatechange = function() {
          if(oXmlHttp.readyState == 4) {
            if(oXmlHttp.status == 200) {
              saveResult(oXmlHttp.responseText);
            } else {
              saveResult("Ошибка: " + oXmlHttp.statusText);
            }
          }
        };
       
        oXmlHttp.send(encodeURIComponent(myhtml));
      }
      
      function saveResult(sText) {
        var answer = document.getElementById('answer');
        answer.innerHTML = sText;
      }                                               //Reciving data from the server END!
 



  Ответить  
 
 автор: bishake   (29.06.2010 в 02:24)   письмо автору
 
   для: UnlikeAO   (28.06.2010 в 11:54)
 

А если в sendRequest() добавить alert(myhtml);, то что мы увидим?

  Ответить  
 
 автор: АЯ   (29.06.2010 в 02:48)   письмо автору
 
   для: UnlikeAO   (28.06.2010 в 11:54)
 

Цитирую:
если вы хотите отправить данные методом POST, вы должны изменить MIME-тип запроса с помощью следующей строки:

httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

В противном случае сервер проигнорирует данные, отправленные методом POST.
(с) http://www.akvi.ru/ajax.html

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования