Изменение кода получения для использования почтового протокола - PullRequest
1 голос
/ 03 мая 2011

Я хочу изменить приведенный ниже код для использования запроса POST.Как мне этого добиться?

function getRecord(){
   xhr.open("GET", "items.php?id=" + Number(new Date), true);
   xhr.onreadystatechange = getData;
   xhr.send(null);
}

Ответы [ 2 ]

1 голос
/ 03 мая 2011

Код ниже должен работать для вас. Не то чтобы, кроме изменения "GET" на "POST", вам также нужно будет сделать несколько других вещей - отправить заголовок и отправить параметры отдельно (последняя строка). В настоящее время вы не отправляете никаких параметров (ваша последняя строка); они кодируются так же, как ваши параметры GET, только без "?" в начале.

function getRecord() {
    var params = "id=" + Number(new Date);
    xhr.open("POST", "items.php", true);

    //Send the proper header information along with the request
    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr.setRequestHeader("Content-length", params.length);
    xhr.setRequestHeader("Connection", "close");

    xhr.onreadystatechange = getData;
    xhr.send(params);
}
0 голосов
/ 03 мая 2011

Вам необходимо создать объект FormData, как указано в https://developer.mozilla.org/en-US/docs/Web/API/FormData/Using_FormData_Objects#Creating_a_FormData_object_from_scratch

Но это будет работать только на браузерах Gecko 2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...