Dzień dobry,
Dlaczego poniższy kod w jquery działa
jQuery.ajax({
type: 'POST',
url: ajaxurl,
data: 'action=blog_1&blog_posts_type=' + blog_posts_type + '&nonce=' + nonce + '&page=' + page,
success:function(data) {
console.log(data);
},
error: function(errorThrown){
console.log(errorThrown);
}
});
a kod w JS nie działa
var request = new XMLHttpRequest();
request.open('POST', ajaxurl, true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
request.onload = function () {
if (this.status >= 200 && this.status < 400) {
console.log(this.responseText);
} else {
// Response error
}
};
request.onerror = function() {
// Connection error
};
request.send('action=blog_1&blog_posts_type= + blog_posts_type + &nonce= + nonce + &page= + page');
Po pierwsze wyskakuje błąd jakby token nonce był zły, a gdy wpiszę w request.send odpowiedni token dla nonce to console.log wraca pustą linię a console.log(request); zwraca
XMLHttpRequest
mozAnon: false
mozSystem: false
onabort: null
onerror: function onerror()
onload: function onload()
onloadend: null
onloadstart: null
onprogress: null
onreadystatechange: null
ontimeout: null
readyState: 4
response: ""
responseText: ""
responseType: ""
responseURL: "http://localhost:8080/wordpress/wp-admin/admin-ajax.php"
responseXML: null
status: 200
statusText: "OK"
timeout: 0
upload: XMLHttpRequestUpload { onloadstart: null, onprogress: null, onabort: null, … }
withCredentials: false
<prototype>: XMLHttpRequestPrototype { open: open(), setRequestHeader: setRequestHeader(), send: send(), … }
functions.js:392:12
Wordpress to bardzo popularny CMS więc mam nadzieję że ktoś miał podobny problem i podzili się rozwiązaniem.