Доброго дня, пытаюсь разобрать XMLHttpRequest, что-бы толково скрипт но торможу что - то
если кто понимает хорошо без библиотек аякс или кюрия
подскажите
вопросы в комментариях, мне кажется так проще понять суть
тут возможно под разные цели нужно писать разные запросы POST или GET
<body>
<form name="form1">
<input type="text" name="mod" id="a">
<input type="button" value="Сумма" onclick="sub()">
Сумма равна: <span id="sub"></span>
</form>
<script type="text/JavaScript">
function getXmlHttp()
{
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()
{
out = window.setTimeout("xhttp.abort();", 5000);
if (xhttp.readyState == 4)
{
clearTimeout(out);
if(xhttp.readyState == 4)
{ if(xhttp.status == 200)
{ document.getElementById("sub").innerHTML = xhttp.responseText;
// почему ответ целиком страница и как получать отдельно конкретные переменные
} else { alert("Не удалось получить данные: " + xhttp.statusText); }
}
}
}
}
function sub()
{
var xhttp = getXmlHttp();
xhttp.open('POST', '/?', true); // отзывается, и можно даже обработчик сделать php
<?
$action = isset($_REQUEST['mod'])? $_REQUEST['mod']: '';
function get($action)
{
global $modx;
if($action == 'out')
{
echo 'ok';
} else { echo 'no';}
}
if($action) { get($action); }
?>
// пишу файл xhttp.open('POST', 'clip.txt', true);
// хочу из него вытягивать данные но ответ statusText - Not Allowed ?
xhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhttp.send("mod=" + encodeURIComponent(document.getElementById("a").value));
Send_(xhttp);
}
</script>
</div>
</body>
пример файла
<?xml version="1.0"?>
<catalog>
<book id="bk101">
<author>Gamba, Matthew</author>
<title>XML Developer's Guide</title>
</book>
<book id="bk102">
<author>Ralls, Kim</author>
<title>Midnight Rain</title>
</book>
</catalog>