what does setrequestheader do
The XMLHttpRequest method setRequestHeader() sets the value of an HTTP request
header. When using setRequestHeader(), you must call it after calling open(),
but before calling send(). If this method is called several times with the
same header, the values are merged into one single request header.
Each time you call setRequestHeader() after the first time you call it,
the specified text is appended to the end of the existing header's content.
XMLHttpRequest allows both to send custom headers and read headers
from the response.
setRequestHeader(name, value)
xhr.setRequestHeader('Content-Type', 'application/json');