Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.03.2011, 13:43
Интересующийся
Отправить личное сообщение для xhugo Посмотреть профиль Найти все сообщения от xhugo
 
Регистрация: 21.03.2011
Сообщений: 15

Разложить по полкам ответ от сервера
код главной
<script language="JavaScript">
    
      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 getRequestBody(oForm) { 
        var aParams = new Array();
        for(var i = 0; i < oForm.elements.length; i++) {
          var sParam = encodeURIComponent(oForm.elements[i].name);
          sParam += "=";
          sParam += encodeURIComponent(oForm.elements[i].value);
          aParams.push(sParam);
        }
        return aParams.join("&");
      }
      
   
      function sendRequest() {
        var oForm = document.forms[0];
        var sBody = getRequestBody(oForm);
        var oXmlHttp = createXMLHttp();
        
        oXmlHttp.open("POST",oForm.action, true);
        oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        
        oXmlHttp.onreadystatechange = function() {
          if(oXmlHttp.readyState == 4) {
            if(oXmlHttp.status == 200) {
              saveResult(oXmlHttp.responseText);
            } else {
              saveResult("Ошибка: " + oXmlHttp.statusText);
            }
          }
        };
        
        oXmlHttp.send(sBody);
      }
      
      function saveResult(sText) {
       var sElem = document.getElementById("divStatus");


       sElem.innerHTML = sText;
      }
  
      </script> 
<center>
      <form method="POST" action="ss.php" OnSubmit="sendRequest(); return false">
       <input type="text" name="s" value="2"><br>
<button>ok</button>     
        </form>
<pre><div id="divStatus"></div></pre>
    </center>

ss.php
<?
$s=$_POST['s'];
echo 'Text:'.$s;
echo '<br>hello<br>test';
?>


Получаю в div :
Text:blabla
hello
test

Нужно получить именно только Text:blabla

Есть варианты?
Ответить с цитированием
  #2 (permalink)  
Старый 22.03.2011, 15:28
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

xhugo,
ну на сервере отправляй только то что хочешь получить
echo '<br>hello<br>test';-убери её из ответа и всё
Ответить с цитированием
  #3 (permalink)  
Старый 22.03.2011, 15:43
Интересующийся
Отправить личное сообщение для xhugo Посмотреть профиль Найти все сообщения от xhugo
 
Регистрация: 21.03.2011
Сообщений: 15

Так не надо.

На самом деле у меня сама форма отправки и код php все в одном файле.
и после отправки запроса я в контейнер div получаю ответ от сервера + еще и формы добавления.

вот по этому мне нужно только спарсить(или что) ответ от сервера..

p.s.
хм.. может можно поспользоваться регулянкой? например просто получаем содержимое ответа и проверяем его на содержание например слова "ok" , только как
Ответить с цитированием
  #4 (permalink)  
Старый 22.03.2011, 15:51
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

В какой нибудь тег поставь нужный текст. Парсить потом легче будет.
$s=$_POST['s'];
echo '<response>Text:'.$s.'</response>';
echo '<br>hello<br>test';
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #5 (permalink)  
Старый 22.03.2011, 16:41
Интересующийся
Отправить личное сообщение для xhugo Посмотреть профиль Найти все сообщения от xhugo
 
Регистрация: 21.03.2011
Сообщений: 15

ok.

Немного изменил функцию:
function sendRequest() {
        var oForm = document.forms[0];
        var sBody = getRequestBody(oForm);
        var oXmlHttp = createXMLHttp();
  var reg=/<br>(.?)</br>/  ;
  var arr=reg.exec(oXmlHttp.responseText)  ;

        oXmlHttp.open("POST",oForm.action, true);
        oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        
        oXmlHttp.onreadystatechange = function() {
          if(oXmlHttp.readyState == 4) {
            if(oXmlHttp.status == 200) {
  
              saveResult(arr[0]);
            } else {
              saveResult("Ошибка: " + oXmlHttp.statusText);
            }
          }
        };


не работает. в чем ошибка?
Ответить с цитированием
  #6 (permalink)  
Старый 27.03.2011, 20:35
Человек
Отправить личное сообщение для 0931454574 Посмотреть профиль Найти все сообщения от 0931454574
 
Регистрация: 10.03.2011
Сообщений: 305

можно загрузить из полученных данных от сервера только нужные элементы. В обработчике загрузки указать какие элементы выбираются!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обновление страницы после получения ответа от сервера potrashitel AJAX и COMET 9 24.02.2015 10:04
плагин jquery.form (.post) - ответ содержит html тэги, как избавиться? ИванРу AJAX и COMET 2 07.01.2011 10:34
разборка xml ответа с сервера Jekel AJAX и COMET 3 17.10.2010 01:10
Ответ сервера в плугине ajaxForm отдается неправильно. IgorOk jQuery 11 13.12.2009 04:35
Ajax - JSON - не распознает пришедший ответ Майский Кот jQuery 1 14.05.2009 00:40