I am trying to create XHR with JavaScript, but I cannot get it to work correctly.
When I see the correct requests on the "Network" tab of the Chrome developer tools, I see that they have a "Form data" section , which lists all the informational messages sent with the request, for example this:

Now I tried to do my XMLHttpRequest any way that I know, but I cannot get this result.
I tried this:
var xhr = new XMLHttpRequest(), form_data = "data%5Btumblelog%5D=drunknight&data%5Bsource%5D=FOLLOW_SOURCE_REBLOG"; // this is uri encoded: %5b = [ and %5D = ] xhr.open('POST','https://www.somesite.com/page?' + form_data, false); xhr.send();
But I got this “Query String Parameters” instead of “Form Data”:

I also tried this:
var xhr = new XMLHttpRequest(), formData = new FormData(); formData.append("data[tumblelog]", "drunknight"); formData.append("data[source]", "FOLLOW_SOURCE_REBLOG"); xhr.open('POST','https://www.somesite.com/page', false); xhr.send(formData);
But I got this "Request Payload" instead of "Form Data":

And finally, I tried this:
var xhr = new XMLHttpRequest(), formData = { "data[tumblelog]": "drunknight", "data[source]": "FOLLOW_SOURCE_REBLOG" }; xhr.open('POST','https://www.somesite.com/page', false); xhr.send(JSON.stringify(formData));
But I got another "Request Payload" instead of "Form Data":

NOW, my question is:
How can I send my XMLHttpRequest to get the same result as in the FIRST image?