Задать вопрос
@TMLEX

Почему javascript ajax отправляет пустой POST запрос?

Всем добрый день, не могу понять, почему отправляется пустой запрос если отправлять JSON данные, если же отправлять не JSON, а, например, в кодировке application/x-www-form-urlencoded то все нормально. JQuery не предлагать.
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
	if(xhr.readyState==4) {
			console.log(xhr.responseText);
		}
	}
xhr.open("POST", urli, false);
var json = JSON.stringify({ user_id: user, tag_id: tag }, null, '\t'); console.log(json); //Здесь JSON выводится в консоли нормально
xhr.setRequestHeader('Content-type', 'application/json; charset=utf-8');
xhr.send(json);
//Переменные user, tag, urli указаны, с этим проблем нет.

Вот код файла к которому обращается ajax:
<?php
if (isset($_POST))
var_dump($_POST);
  • Вопрос задан
  • 504 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
devspec
@devspec
Помогло? Отметь решением
Может быть на другой домен отправляете? Кросс-доменные запросы поддерживаются с трудом.
Ответ написан
Комментировать
@TMLEX Автор вопроса
Нет, на тот домен. Проблема именно с кодировкой JSON. Поменять формат и соответственно передаваемую переменную - всё работает нормально.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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