С недавнего времени решил переходить на нативный JS и столкнулся с проблемой передачи данных через AJAX. Задача стоит следующая: имеем некий объект который надо передать на сервер.
Код на JS
var someObj = {a:1,b:2};
var xhr = new XMLHttpRequest();
xhr.open('POST', 'node.php', true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send(someObj);
xhr.onreadystatechange = function(){
if (this.readyState == 4) {
if (this.status == 200)
console.log(xhr.responseText);
else
console.log('ajax error');
}
};
Аналогичный код на jQuery
var someObj = {a:1,b:2};
$.ajax({
type: "POST",
url: "node.php",
data: someObj,
success: function(res) {
console.log(res);
}
});
Принимаем данные на PHP
print_r($_REQUEST);
В результате имеем не рабочий код на нативном JS и рабочий код на jQuery. В первом случае (JS) всегда возвращает в консоль:
Array
(
)
Во втором (jQuery):
Array
(
[a] => 1
[b] => 2
)
Как бы я не пытал свой JS, он ничего возвращать не хочет. Подскажите в чем может быть проблема или хотябы в какую сторону мне смотреть?