@mranomalyy

Почему xmlhttp не отправляет параметры с методом PUT, но всё ок с POST?

Сабж. Код:

Вызываю: (если тут поменять PUT на POST, чудесным образом всё отправится (все параметры и сам запрос), но с PUT, параметры игнорируются)
z = new Request("PUT", "/api/items/29", "name=" + encodeURIComponent("tested"), console.log);


Класс
class Request {

    constructor(method, url, params, todo) {

        this.method = method;
        this.url = url;
        this.params = params;
        this.todo = todo;

        this.xmlhttp = null;

        try {
            this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (E) {
                this.xmlhttp = null;
            }
        }
        if (!this.xmlhttp && typeof XMLHttpRequest != 'undefined') {
            this.xmlhttp = new XMLHttpRequest();
        }

        this.xmlhttp.open(this.method, this.url);
//        this.xmlhttp.setRequestHeader('Content-Type', 'application/javascript');
        this.xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        this.xmlhttp.onreadystatechange = function () {
            if (this.xmlhttp.readyState == 4 && this.xmlhttp.status == 200)
                todo(this.xmlhttp.responseText);
        }.bind(this);
        this.xmlhttp.send(this.params);

    }

    encodeParams(str) {

        str = str.split('&');

        return str;
    }


}
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
PUT - запрещен в настройках конфигурации веб-сервера.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы