Тема: XMLHttpRequest
Показать сообщение отдельно
  #1 (permalink)  
Старый 05.05.2018, 19:37
Аватар для Conus
Аспирант
Отправить личное сообщение для Conus Посмотреть профиль Найти все сообщения от Conus
 
Регистрация: 05.12.2015
Сообщений: 85

XMLHttpRequest
Доброго дня,
не мог бы кто пояснить что происходит когда я посылаю запрос :
xhttp.open('POST', '/', true); какую роль играет /
мне приходит дубликат страницы -то есть копия всего что на странице добавляется на туже страницу только плюс ответ php
при чем ответ только во втором экземпляре страницы
а отправка данных может быть только с первого оригинального экземпляра кода

и если кто знает - как вернуть ответ php а не всего запроса XMLHttpRequest?

заранее спасибо

страница
<html>
<head>
<script type="text/JavaScript">
 
 function XmlHttp()
  {
    var xmlhttp;
    try  { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } 
    catch (e) { try {  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) {  xmlhttp = false; } }
    if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest();  }
    return xmlhttp;
  }

function stat(readyState)
{
  switch (readyState) 
  {
    case 0: return "не инициализирован";  break;      
    case 1: return "загрузка..."; break;   
    case 2:  return "загружено"; break;   
    case 3:  return "в процессе..."; break;      
    case 4:  return "готово"; break;    
    default: return "неизвестное состояние";  
  }  
}

function Send_(xhttp)
{
     xhttp.onreadystatechange = function() 
		{  
         
            if (xhttp.readyState == 4)
			{
	            if(xhttp.readyState == 4) 
				{ if(xhttp.status == 200) 
					{
                                            if (!xhttp.responseType || xhttp.responseType === "text") {  data = xhttp.responseText; } 
						if (xhttp.responseType === "document") { data = xhttp.responseXML;  }

						document.getElementById("sub").innerHTML =   data + ' . : . '
					  }
					   else { document.getElementById("sub").innerHTML = "Не удалось получить данные: " + xhttp.statusText;  } 
				  }
			 }
           
		 } 
}



  function sub() 
  {
     var xhttp = XmlHttp();       

     xhttp.open('POST', '/', true); 
     xhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
     xhttp.send("mod=" + encodeURIComponent( document.getElementById("a").value) ); 

     Send_(xhttp)

  }
    </script>


</head>

<body>
	 
<?php
$action = isset($_REQUEST['mod'])? $_REQUEST['mod']: '';
if($action) { if($action == 'out') { echo 'ok';  } else { echo $action;  } }
?>

  <input type='text' name='mod' id='a'  />

  <a href='' id='on' onClick='event.preventDefault();sub()'>send</a>
  <div id='sub'></div>


 </body>
</html>

Последний раз редактировалось Conus, 05.05.2018 в 19:46.
Ответить с цитированием