Метод POST в XMLHttpRequest

Malcolm_Reed

Новичок
Метод POST в XMLHttpRequest

Есть JavaScript, отсылащющий запросы на сервер
Код:
var req;

function loadXMLDoc(url) {
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();
        }
    }
}

function processReqChange() {   
    document.form1.state.value = stat(req.readyState); 
    
    ab = window.setTimeout("req.abort();", 5000);
    
    if (req.readyState == 4) {
        clearTimeout(ab);
        
        document.form1.statusnum.value = req.status; 
        document.form1.status.value = req.statusText; 
        
        // only if "OK"
        if (req.status == 200) {
            document.form1.response.value=req.responseText;
        } else {
            alert("Не удалось получить данные:\n" + req.statusText);
        }
    }  
}

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

function requestdata(params)
{
  loadXMLDoc('httpreq.php'+params);
}
Есть форма ввода данных
Код:
<form name=form1>
<table width=100% style="font-size: 100%">
<tr><td width=30% valign=top>
Состояние запроса
<td width=70%>
<input size=25 disabled type=text name=state value="">
<tr><td valign=top>Код статуса
<td><input disabled size=2 type=text name=statusnum value="">
<input disabled size=19 type=text name=status value="">
<tr><td valign=top>Данные от сервера
<td><textarea rows=6 name=response></textarea> 
<tr><td>Строка GET-запроса<td>
<input type=text name=getparams value="?">
<input type=button onclick="requestdata(getparams.value);" value="GET">
</table>
</form>
Что надо изменить в скрипте, чтобы он отправлял данные методом POST а не GET? Просто заменить все геты на посты, разумеется, не получается. Пологаю что помимо изменения метода на POSt, надо еще и что-то добавить сюда "req.send(_что-то_);" ??? Помогите люди добрые
 

zarus

Хитрожопый макак
Думаю, Вам надо сначала разобраться в этом коде, и только потом задавать вопросы.
Код:
PostData = 'somevar=somevalue';
req.open("POST", url, true);
req.send(PostData);
 
Сверху