@Mopaa

Как передать переменную в ajax методом POST?

Пишу такую конструкцию:
var x = '5';

        req.open('POST', 'ip.php', 'x');
        req.send();
        }

На стороне php пытаюсь вывести:
echo 'DO = '.$_POST['x'];
Но ничего не выходит, переменная пустая... Пробовал уже всяко, в GET передается без проблем, но нужен POST метод...
  • Вопрос задан
  • 2617 просмотров
Решения вопроса 1
@krypt3r
Что-то типа
var x = 5;
var body = 'x=' + x;
req.open("POST", 'ip.php', true);
req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
req.send(body);
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Jeer
@Jeer
уверенный пользователь
var model = { "x": 5 };

        req.open('POST', 'ip.php', model);
        req.send();
        }


попробуйте так

upd: скорее так:
var model = { "x": 5 };

        req.open('POST', 'ip.php');
        req.send(model);
        }
Ответ написан
BRAGA96
@BRAGA96
Функция XMLHttpRequest IE8+
function ajax(params) {
  var request = new XMLHttpRequest();
  request.open(params.method, params.url, params.async || true);
  request.setRequestHeader('Content-Type', params.contentType || 'application/x-www-form-urlencoded; charset=UTF-8');
  request.onreadystatechange = function() {
    if (this.readyState === 4) {
      if (this.status >= 200 && this.status < 400) {
        if (params.success) params.success(this.responseText, this.statusText, this.status);
      } else {
        if (params.error) params.error(this);
      }
    } else {
      if (params.error) params.error(this);
    }
  };
  request.send(params.data ? JSON.stringify(params.data) : '');
  request = null;
}
ajax({
  url: 'ip.php',
  method: 'POST',
  contentType: 'application/json; charset=UTF-8',
  data: {
  	x: 5,
  	y: 10
  },
  success: function(response, statusText, status) {
    console.log('Запрос успешно отправился, получаем ответ', response);
  },
  error: function(XHR) {
    console.log('Ошибка запроса', XHR);
  }
});
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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