Я отправляю json на моем сервере с использованием vanilla JS, и он возвращает неверный запрос. Кажется, сервер хочет только пару значений ключа, например «page = pageData & action = act», когда я делаю это, это работает, но я быхочу отправить данные таким образом.Есть ли способ сделать это возможным?Когда я пытаюсь сделать это в jquery, он работает нормально.
$('.more-headlines').on('click', function() {
var pageData = $(this).data('page');
var pageURL = $(this).data('url');
var act = 'load_more';
var jsondata = {
page : pageData,
action : act
}
var xhr = new XMLHttpRequest();
xhr.open('POST', pageURL, true);
xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
xhr.onload = function() {
if (xhr.status >=200 && xhr.status < 400) {
var data = JSON.parse(xhr.responseText);
console.log(data);
} else {
console.log('sad');
}
};
xhr.send(JSON.stringify(jsondata));
});
Это мой код в jquery
$('.more-headlines').on('click', function () {
var that = $(this);
pageData = $(this).data('page');
newPage = pageData+1;
pageURL = $(this).data('url');
act = 'load_more';
that.addClass('icon-spin');
that.find('span').html('loading headline');
jsondata = {
page : pageData,
action : act
}
$.ajax ({
type: 'POST',
url: pageURL,
data: jsondata,
success: function(response) {
setTimeout( function () {
that.data('page', newPage);
$('#featureOnDemand ul').append(response);
that.removeClass('icon-spin');
that.find('span').html('See more headlines');
}, 500);
}
});
});
Я посмотрел на вкладку сети в Chrome, и я увидел, что отправказапрос становится парой ключ-значение, например, «page = pageData & action = act».Я застрял в этой части, потому что я хочу сделать запрос vanilla js ajax в моем проекте.Любая идея будет сильно оценена.Большое спасибо!