@insanel

Как изменить вид запроса на сервер?

Написал скрипт отправки формы
Данные с формы должны отправляться в phpmailer
Данные отправляются, но не в том виде, в итоге phpmailer не может принять данные и обработать и отправляет пустое письмо

Используя jQuery данные летят в phpmailer в виде:
5d8f673b0acfc097444092.png
И все работает прекрасно
При отправки с нативным жс:
5d8f6776d2cfb052414398.png

function postData(data) {

                return new Promise(function(resolve, reject){
                    let request = new XMLHttpRequest();

                    request.open('POST', 'smail.php');

                    request.setRequestHeader('Content-type', 'application-x-www-form-urlencoded; charset=UTF-8');

                    request.onreadystatechange = function () {
                        if(request<4) {
                            resolve();
                        }else if(request.readyState == 4) {
                            if(request.status == 200 && request.status < 300){
                                resolve();
                            }else{
                                reject();
                                console.log(request.status);
                            }
                        }
                    };
                    request.send(data);
                });
            }


Я хочу самостоятельно сделать так, что бы с обычно js данные отправлялись так же как и с jQuery
Как это реализовать?
  • Вопрос задан
  • 96 просмотров
Решения вопроса 1
@GTech
Frontend-разработчик
Для application/x-www-form-urlencoded обычно используют encodeURIComponent

Уверен что тебе нужен именно этот Content-type?
Если посылаешь через JSON, используй application/json, должно помочь
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы